如果我在本地仓库repo/.git/hooks/post-commit中创建了一个新的钩子脚本,然后我运行“git push”,钩子会被推到远程吗?那么,当其他开发者从同一个源代码运行“git pull”时,他们会得到我的新钩子吗?
mf98qq941#
不。钩子是针对每个仓库的,从来不会被推送。同样,repo config也不会被推送,.git/info中的任何东西也不会,或者其他一些东西也不会。推送和拉取只交换分支/标签和提交对象(以及从提交可到达的任何东西,例如树、blob)。
.git/info
7xzttuei2#
不,git钩子不会被推或拉,因为它们不是仓库代码的一部分。请参考the documentation以获得简单的客户端和服务器端钩子的列表。如果你想为所有从一个给定仓库克隆或提取的客户端启用一些钩子,你必须把钩子添加到你的代码库中,然后创建你自己的脚本来复制它们,或者从repo/.git/hooks/链接到它们。
repo/.git/hooks/
dz6r00yl3#
遗憾的是没有,但是从git 2.9开始你可以把它们放到.githooks文件夹中(就像其他人提到的),然后运行:
git config --local core.hooksPath .githooks/
因此无需创建符号链接或复制文件。
3条答案
按热度按时间mf98qq941#
不。钩子是针对每个仓库的,从来不会被推送。同样,repo config也不会被推送,
.git/info
中的任何东西也不会,或者其他一些东西也不会。推送和拉取只交换分支/标签和提交对象(以及从提交可到达的任何东西,例如树、blob)。
7xzttuei2#
不,git钩子不会被推或拉,因为它们不是仓库代码的一部分。
请参考the documentation以获得简单的客户端和服务器端钩子的列表。
如果你想为所有从一个给定仓库克隆或提取的客户端启用一些钩子,你必须把钩子添加到你的代码库中,然后创建你自己的脚本来复制它们,或者从
repo/.git/hooks/
链接到它们。dz6r00yl3#
遗憾的是没有,但是从git 2.9开始你可以把它们放到.githooks文件夹中(就像其他人提到的),然后运行:
因此无需创建符号链接或复制文件。