首页 > 解决方案 > 有没有办法强制只有符合此分支策略的合并才会被 github 存储库接受?

问题描述

我喜欢这篇博文中概述的分支策略。

该策略相当容易解释,鼓励人们学习 git 最重要的部分以实现合理的工作流程,并避免非专业 git 用户在合理规模的情况下会遇到和重新遇到的许多陷阱团队包括许多初级开发人员。

我想让我的团队朝着这个策略前进——我会提供护栏,这样人们就可以通过尝试去做来“学习”正确的策略。所以我想强制允许符合这个分支策略的提交被合并到主/生产分支。

有没有办法为 GitHub 存储库中的分支强制遵守此合并策略?

标签: gitgithub

解决方案


GitHub 不提供限制提交次数的选项,但您可以要求分支在合并之前是最新的。如果您真的想将其限制为单个提交,那么您可以通过运行类似这样的东西在您的 CI 系统中强制执行此操作(用您的 CI 系统替换变量):

test $(git rev-list $BASE..$HEAD | wc -l) -eq 1

要使用 GitHub 最新分支检查,请进入存储库设置,选择分支并添加受保护的分支(通常是您的默认分支)。然后选择“要求在合并前通过状态检查”和“要求分支在合并前是最新的”。

我要指出,许多有经验的开发人员更喜欢编写多个逻辑二等分提交,并且压缩它们会从这些提交及其提交消息中删除有用的信息。但是,如果您无论如何都想这样做,那就是您的做法。


推荐阅读