【发布时间】:2015-12-07 16:06:24
【问题描述】:
我正在尝试使用以下说明在服务器上实现 git hook commit:https://git-scm.com/book/be/v2/Customizing-Git-An-Example-Git-Enforced-Policy
我创建了文件“update”(使其可执行,放入 hooks 文件夹),发现当我执行 git commit -m "my message" 和 git push 时该文件没有执行 - 所有这些命令都可以正常工作,但是 'update' 文件不起作用(我尝试使用简单的脚本“echo“Hello World”>> somefile.txt)
问题出在哪里?
【问题讨论】:
-
您是否将钩子放入远程(服务器)存储库?当然,更新钩子只在远程端有效,从客户端接收提交,所以
git commit根本不参与。 -
是的,我把钩子“更新”文件放在服务器上,但是当我“git commit”时它不起作用!
-
git commit是完全本地操作。它不涉及任何网络事务,只有git push、git fetch和git pull本质上是git fetch+git merge。 -
你到底想用钩子实现什么?
-
我想实现所有提交都以票号开头:“TicketNumber-1234” 我知道“git commit”是本地提交。当我执行“git push”时,我的“更新”脚本根本没有运行。我的回购路径是 /path/test.git/hooks - 我放了“更新”文件。