如果我在repo / .git / hooks / post-commit中的本地存储库中创建一个新的钩子脚本然后我运行“git push”是否将钩子推送到远程?然后,当其他开发人员从同一个来源运行“git pull”时,他们会得到我的新钩子吗?
答案 0 :(得分:59)
没有。钩子是每个存储库,永远不会被推送。同样,repo配置既不会被推送,也不会推送到.git/info
或其他任何东西。
推送和拉取只交换分支/标签和提交对象(以及从提交中可以到达的任何内容,例如树,blob)。
答案 1 :(得分:41)
不,git hooks不会被推或拉,因为它们不是存储库代码的一部分。
请参阅the documentation以获取简单客户端和服务器端挂钩的列表。
如果要为从给定存储库克隆或提取的所有客户端启用一些挂钩,则必须将挂钩添加到代码库,然后创建自己的脚本以将其复制到{{1 }}
答案 2 :(得分:4)
不幸的是,但是从git 2.9开始,您可以将它们放入.githooks文件夹(如其他人所述)并运行:
git config --local core.hooksPath .githooks/
因此不需要符号链接或复制文件。