2

在将更改推送到遥控器(位于 bitbucket 上)之前,我想有一个钩子来运行我的测试。

我通常从 master 分支,当功能完成后,我将它合并回 master 并推送,这就是我寻找 pre-push 挂钩的原因。相反,我使用了一个 post-merge 和一个限制在 master 分支的 pre-commit。我已经看到为 Git 1.6 完成的补丁另一个问题,这正是我提出的解决方案的问题。

我想知道的是为什么git 不支持 pre-push 钩子(特别是如果一个补丁已经被接受过一次)?(顺便说一句 - 我正在使用最新的 git 版本)

4

2 回答 2

5

该补丁尚未被接受,仅提交。上个月左右还有另一个提交。

如果您关注该补丁提交之后的讨论线程,则有一些讨论(示例)关于添加预推送挂钩的补丁需要什么才能被接受。但是,无论是您链接到的补丁程序还是更新的补丁程序,都没有完成额外的工作。

到目前为止已经提交的补丁被认为并不比在git push命令周围有一个自定义包装更好。git 的维护者不希望添加这样的钩子实现,这使得将来在不破坏兼容性的情况下添加更有用的实现变得更加困难。

于 2012-12-19T21:47:59.190 回答
4

在我看来,这一直是一个何时而不是为什么的问题。

Gitpre-push在版本中得到了钩子1.8.2

示例pre-push脚本:https ://github.com/git/git/blob/87c86dd14abe8db7d00b0df5661ef8cf147a72a3/templates/hooks--pre-push.sample

1.8.2 发布说明谈论新的 pre-push hook:https ://github.com/git/git/blob/master/Documentation/RelNotes/1.8.2.txt

于 2013-02-03T13:18:53.240 回答