当我“git push”时,git钩子是否被推到了遥控器上?

eoigrqb6  于 2022-11-20  发布在  Git
关注(0)|答案(3)|浏览(155)

如果我在本地仓库repo/.git/hooks/post-commit中创建了一个新的钩子脚本,然后我运行“git push”,钩子会被推到远程吗?那么,当其他开发者从同一个源代码运行“git pull”时,他们会得到我的新钩子吗?

mf98qq94

mf98qq941#

不。钩子是针对每个仓库的,从来不会被推送。同样,repo config也不会被推送,.git/info中的任何东西也不会,或者其他一些东西也不会。
推送和拉取只交换分支/标签和提交对象(以及从提交可到达的任何东西,例如树、blob)。

7xzttuei

7xzttuei2#

不,git钩子不会被推或拉,因为它们不是仓库代码的一部分。
请参考the documentation以获得简单的客户端和服务器端钩子的列表。
如果你想为所有从一个给定仓库克隆或提取的客户端启用一些钩子,你必须把钩子添加到你的代码库中,然后创建你自己的脚本来复制它们,或者从repo/.git/hooks/链接到它们。

dz6r00yl

dz6r00yl3#

遗憾的是没有,但是从git 2.9开始你可以把它们放到.githooks文件夹中(就像其他人提到的),然后运行:

git config --local core.hooksPath .githooks/

因此无需创建符号链接或复制文件。

相关问题