是存储库中的git hooks global

时间:2014-10-21 17:18:19

标签: git version-control

我有一个git预提交钩子来检查pep8合规性,我想将它添加到已经有多个分支的存储库中。如果我将它添加到一个分支上的.git/hooks/,那个钩子会出现在其他分支中,还是每个分支.git文件夹都是唯一的?我想将钩子添加到master并让它出现在所有其他分支中。这是否需要在每个分支上手动替换它,或者我可以将它添加到一个分支并将其存在于所有分支中吗?

1 个答案:

答案 0 :(得分:2)

它将在所有分支的存储库中处于活动状态。在pre-commit挂钩的情况下,所有本地分支都会在提交之前激活此挂钩。

除非它pre-receive / post-receiveserver-side hooks在推送​​到安装了挂钩的存储库时激活,否则它不会对其他存储库有效)。

我试图找出一些文件来支持我的陈述,但坦率地说我没有。这里有一些documentation on hooks,但它并没有直截了当地告诉它,所有分支都是常见的。

虽然它很简单,因为.git目录在整个存储库中是唯一的,并且不受版本控制,但它不是代码的一部分。当您更改钩子脚本时,它在not staged changes中不可见。

大多数人都有相反的问题 - 根据分支来区分钩子行为,例如this question中的Eugene。

相关问题