# CSharp-for-Git-Hook **Repository Path**: yunlong/CSharp-for-Git-Hook ## Basic Information - **Project Name**: CSharp-for-Git-Hook - **Description**: c#写的windows系统服务,用于监听并自动拉取代码到服务器 - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2015-04-18 - **Last Updated**: 2021-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #CSharp-for-Git-Hook ##文档说明 hook.cs 为源码,可自主修改编译 hook.exe 为主程序,可直接用于自己的服务环境中 log 为日志文件,服务启动后每次的操作结果均记录在日志文件中 lock 为锁定文件,程序会自动监听这个文件是否存在,若存在读取其中的 GIT 目录,并自动拉取 ##使用说明 使用 installutil 安装服务(.NET FRAMEWORK中自带) 安装服务 installutil hook.exe 卸载服务 installutil -u hook.exe 服务安装完成后,请手动到服务中开启对应的服务名,此实例中服务名为 GitHookService,也可以直接使用 net start GitHookService 启动服务 ##使用前 1、请先手动 clone 源码到您的服务器中 2、请看好您环境中 .NET FRAMEWORK 的版本号 ##如何在 git.oschina.com 中使用 在oschina中,每一个项目中都有一个 管理->PUSH钩子节点,自主配置URL并启用即可,例如 PHP 环境下可以这样: file_put_contents('lock', 'e:\\web\\test') 注意:为了防止恶意访问该 URL ,您可以根据OSCHINA提供的 POST 参数以及密码自行处理是否生成锁定文件。