【发布时间】:2014-10-28 03:07:13
【问题描述】:
在一个常见的(基于 git 的)开发工作流程中,维护一个 master 分支和一个用于测试目的的 next(或 dev)分支:
- 功能分支从
master开始,合并到next中进行测试。如果认为稳定,功能分支可以合并到master。 -
master定期合并到next -
next会定期重绕(例如,在发布后)。 -
永远不要将
next分支合并到master分支中
如果能够自动阻止next 合并到master,无论是直接还是通过基于next 的另一个分支,这将非常有用。 如何使用 git 来完成这项工作?
注意:如this question 中所述,可以使用 git 挂钩来防止在具有完全访问权限的远程存储库上进行这些类型的合并。但是,这(大概)对于 BitBucket 或 GitHub 之类的服务是不可能的,因此我寻求一种适用于本地存储库的解决方案,或者一种可以与只有有限管理访问权限的远程存储库一起使用的解决方案。
【问题讨论】:
-
为什么不在本地安装钩子呢?
-
链接中的钩子是一个更新钩子,它只对远程存储库有意义。也许这很简单,但如何将其转化为本地挂钩?
-
这似乎是一个很棒的问题,也是我需要回答的问题。它没有更多的关注和基于钩子的答案,这非常令人不安,因为这对于安全使用此工作流程似乎至关重要。我想这样做已经花费了我的团队大量的时间和烦恼,完全按照 OP 描述的方式(使用“通过另一个分支”变体)。
标签: git version-control workflow bitbucket githooks