Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何配置用户';s git hook文件夹以匹配项目';s_Windows_Git_Githooks - Fatal编程技术网

Windows 如何配置用户';s git hook文件夹以匹配项目';s

Windows 如何配置用户';s git hook文件夹以匹配项目';s,windows,git,githooks,Windows,Git,Githooks,我们的项目位于一个作为git服务器运行的服务器上。我们在Windows计算机上运行以与该服务器交互。我正在开发一个预提交git钩子。第一个问题是git是否只在用户的forked repo.git/hooks文件夹中查找该钩子,用户在该文件夹中进行编辑和提交,还是只在“parent's”(project.git/hooks)文件夹中查找?如果是前者,是否可以开发某种单独的脚本,定期将“最新和最好的”钩子复制到用户的repo.git/hooks文件夹中,以确保它们运行的是正确的东西?git只在本地r

我们的项目位于一个作为git服务器运行的服务器上。我们在Windows计算机上运行以与该服务器交互。我正在开发一个预提交git钩子。第一个问题是git是否只在用户的forked repo.git/hooks文件夹中查找该钩子,用户在该文件夹中进行编辑和提交,还是只在“parent's”(project.git/hooks)文件夹中查找?如果是前者,是否可以开发某种单独的脚本,定期将“最新和最好的”钩子复制到用户的repo.git/hooks文件夹中,以确保它们运行的是正确的东西?

git只在本地repositorys
.git/hooks
文件夹中查找钩子。
.git
文件夹不是存储库的一部分,因此不能直接将钩子部署到其他开发人员机器上。这是完全正确的,因为您不希望存储库能够在您不注意的情况下运行任意代码


一些可能的钩子部署机制在中进行了讨论。

问题的真实背景与我们的repo在它们自己的服务器上这一事实有关,类似于GitHub。我们的许多用户都会使用主机,但他们会从该服务器上的GUI对资源进行更改,然后在那里进行添加和提交。在我的服务器分支上或主分支上都看不到.git\hook。我知道.git文件夹是不可见的(默认情况下),其内容不在CM下。那么,我的问题是如何为服务器上完成的工作设置git钩子,并在钩子需要更新时以某种方式“管理”这些钩子?我已经阅读了您的第一句话,有一个明确的推论,即服务器上不支持任何钩子。这意味着我必须每天早上对服务器主机运行gitwhatchanged,然后检查前一天更改的语法。这将把检查放在循环的后面,但是哦,好吧,我不会说服务器上不支持钩子;我的回答可能有误导性。有服务器端钩子(请参阅),但据我所知,这些钩子都不能解决您的问题,因为您无法修改其他存储库
hooks
文件夹的内容。