我希望在将更改推送到远程(位于bitbucket)之前有一个钩子来运行我的测试。
我通常分支主人,当功能完成后我将它合并回主人和推,这就是为什么我在寻找预推钩。相反,我使用了合并后的&预先提交仅限于主分支。 我已经看到that patch done for Git 1.6和this other question提出了我提出的解决方案的问题。
我想知道的是 为什么 git不支持预推钩(特别是如果已经接受过一次补丁)? (顺便说一句 - 我是最新的git版本)
答案 0 :(得分:5)
该补丁尚未接受,仅提交。而在过去一个月左右的时间里又提交了另一个。
如果您按照补丁提交之后的讨论主题进行操作,则会有一些讨论(example)关于添加预推钩的补丁需要什么才能被接受。但是,在您链接的补丁和最近的补丁中,尚未完成其他工作。
到目前为止提交的补丁被判断为并不比在git push
命令周围使用自定义包装器更好。 git的维护者不希望添加这样的钩子实现,这使得在将来添加更有用的实现更加困难而不会破坏兼容性。
答案 1 :(得分:4)
在我看来,这一直是一个关于何时而不是为什么的问题。
Git在pre-push
版本中获得1.8.2
个钩子。
示例pre-push
脚本:https://github.com/git/git/blob/87c86dd14abe8db7d00b0df5661ef8cf147a72a3/templates/hooks--pre-push.sample
1.8.2发布说明,谈论新的预推钩:https://github.com/git/git/blob/master/Documentation/RelNotes/1.8.2.txt