git - 为什么git没有预推钩子(Hook)?

标签 git

在将更改推送到远程(位于 bitbucket 上)之前,我希望有一个钩子(Hook)来运行我的测试。

我通常从 master 分支出来,当功能完成后,我将它 merge 回 master 并推送,这就是我寻找预推送 Hook 的原因。相反,我使用了仅限于 master 分支的 merge 后和预提交。 我看过that patch done for Git 1.6this other question这恰恰提出了我提出的解决方案的问题。

我想知道的是,为什么 git 不支持预推送 Hook (特别是如果补丁已经被接受一次)? (顺便说一句——我使用的是最新的 git 版本)

最佳答案

尚未接受的补丁,仅提交。在过去一个月左右的时间里,又提交了一份。

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

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

关于git - 为什么git没有预推钩子(Hook)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13960839/

相关文章:

linux - git可以存储或控制目录用户、组或权限

git - 开发人员可以不可逆转地损坏 git repo 吗?

php - 使用 git 版本控制进行 PHP 开发

android - 错误 : Could not find method install() for arguments on root project of type org. gradle.api.Project

git - stash 我当前正在处理的内容,并恢复到上次提交

git - 为什么我的 BASH 脚本在添加其他参数时会失败?

git - 如何在git repo中grep文件?

git - 如何以编程方式确定当前 checkout 的 Git 分支

git - 如何允许自动化 CI 流程通过 Github 分支保护推送提交?

Heroku 应用程序名称更改后 Git 推送失败