如果我在 repo/.git/hooks/post-commit 的本地存储库中创建一个新的钩子脚本,然后我运行“git push”,钩子会推送到远程吗?然后,当其他开发人员从同一来源运行“git pull”时,他们会得到我的新钩子吗?
问问题
36791 次
3 回答
86
不,钩子是每个存储库的,永远不会被推送。同样,repo 配置也没有被推送,也没有任何东西.git/info
,或者其他一些东西。
推送和拉取只交换分支/标签和提交对象(以及从提交中可以访问的任何内容,例如树、blob)。
于 2012-08-31T20:42:13.977 回答
49
不,git 钩子不会被推送或拉出,因为它们不是存储库代码的一部分。
请参阅文档以获取简单的客户端和服务器端挂钩列表。
如果要为从给定存储库中克隆或拉取的所有客户端启用一些钩子,则必须将钩子添加到代码库中,然后创建自己的脚本以将它们复制到或从repo/.git/hooks/
.
于 2012-08-31T20:41:48.407 回答
17
遗憾的是没有,但从 git 2.9 开始,您可以将它们放入 .githooks 文件夹(正如其他人提到的那样)并运行:
git config --local core.hooksPath .githooks/
所以不需要符号链接或复制文件。
于 2020-09-27T00:34:38.763 回答