在常见的(基于 git 的)开发工作流程中,维护一个 master
分支机构和一个next
(或 dev
)用于测试目的的分支:
- 特征分支从
master
开始并 merge 到next
用于检测。如果认为稳定,功能分支可以 merge 到master
. -
master
定期 merge 到next
-
next
定期倒带(例如,在发布后)。 next
分支不应 merge 到master
中分支机构
能够自动阻止 next
的 merge 会很有用进入master
,直接或通过基于 next
的另一个分支. 如何使用 git 完成这一任务?
注意:如this question中所述,可以使用 git hooks 来防止在具有完全访问权限的远程存储库上进行这些类型的 merge 。但是,这(大概)对于像 BitBucket 或 GitHub 这样的服务是不可能的,所以我寻求一种适用于本地存储库的解决方案,或者可以与远程存储库一起使用的解决方案,而远程存储库只有有限的管理访问权限。
最佳答案
当您真的想使用 Github/Bitbucket 时,请不要授予任何人对您的存储库的写入权限。只接受 pull 请求。这样,您可以检查它包含的 merge 请求,如果您看到不想要的内容,则拒绝它们。
自动化的一种方法是创建一个本地仓库,添加一个钩子(Hook)来进行检查,然后将 pull 请求 pull 入新的本地“验证”仓库(这不应该是您的正常工作仓库,因此您可以总是把它扔掉)。
关于git - 如何防止 git 分支被 merge 到另一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25647299/