如何防止git分支合并到另一个?

时间:2014-09-03 14:44:25

标签: git version-control workflow bitbucket githooks

在一个常见的(基于git的)开发工作流程中,一个人维护一个master分支和一个next(或dev)分支,用于测试目的:

  • 功能分支从master开始,并合并到next进行测试。如果认为稳定,则可以将要素分支合并到master中。
  • master会定期合并到next
  • next会定期重绕(例如,发布后)。
  • 永远不应将next分支合并到master分支

能够直接或通过基于next的其他分支自动阻止master合并到next 会很有用。 如何使用git实现这一目标?

注意:如this question中所述,可以使用git hooks来防止在具有完全访问权限的远程存储库上进行这些类型的合并。但是,对于像BitBucket或GitHub这样的服务,这可能是(大概)不可能的,因此我寻求一种适用于本地存储库的解决方案,或者可以与远程存储库一起使用的解决方案,该存储库只具有有限的管理访问权限。

1 个答案:

答案 0 :(得分:1)

如果你真的想使用Github / Bitbucket,那么不要给任何人写你的回购。只接受拉取请求。这样,你可以检查它包含的合并请求,如果你看到了你不想要的东西,就拒绝它们。

自动执行此操作的方法是创建一个本地仓库,添加一个执行检查的钩子,然后将拉取请求拉入新的本地“验证”仓库(这不应该是您正常的工作仓库,因此您可以总是扔掉它。)