在将更改推送到远程(位于 bitbucket 上)之前,我希望有一个钩子(Hook)来运行我的测试。
我通常从 master 分支出来,当功能完成后,我将它 merge 回 master 并推送,这就是我寻找预推送 Hook 的原因。相反,我使用了仅限于 master 分支的 merge 后和预提交。 我看过that patch done for Git 1.6和 this other question这恰恰提出了我提出的解决方案的问题。
我想知道的是,为什么 git 不支持预推送 Hook (特别是如果补丁已经被接受一次)? (顺便说一句——我使用的是最新的 git 版本)
最佳答案
尚未接受的补丁,仅提交。在过去一个月左右的时间里,又提交了一份。
如果您关注补丁提交之后的讨论线程,会有一些讨论 ( example ) 关于添加预推送 Hook 的补丁需要什么才能被接受。但是,无论是您链接到的补丁还是更新的补丁,这些额外的工作都没有完成。
到目前为止已经提交的补丁被认为并不比在 git push
命令周围有一个自定义包装器更好。 git 的维护者不希望添加这样的 Hook 实现,这使得将来在不破坏兼容性的情况下添加更有用的实现变得更加困难。
关于git - 为什么git没有预推钩子(Hook)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13960839/