git - 有没有办法强制只有符合此分支策略的合并才会被 github 存储库接受?
问题描述
我喜欢这篇博文中概述的分支策略。
该策略相当容易解释,鼓励人们学习 git 最重要的部分以实现合理的工作流程,并避免非专业 git 用户在合理规模的情况下会遇到和重新遇到的许多陷阱团队包括许多初级开发人员。
我想让我的团队朝着这个策略前进——我会提供护栏,这样人们就可以通过尝试去做来“学习”正确的策略。所以我想强制只允许符合这个分支策略的提交被合并到主/生产分支。
有没有办法为 GitHub 存储库中的分支强制遵守此合并策略?
解决方案
GitHub 不提供限制提交次数的选项,但您可以要求分支在合并之前是最新的。如果您真的想将其限制为单个提交,那么您可以通过运行类似这样的东西在您的 CI 系统中强制执行此操作(用您的 CI 系统替换变量):
test $(git rev-list $BASE..$HEAD | wc -l) -eq 1
要使用 GitHub 最新分支检查,请进入存储库设置,选择分支并添加受保护的分支(通常是您的默认分支)。然后选择“要求在合并前通过状态检查”和“要求分支在合并前是最新的”。
我要指出,许多有经验的开发人员更喜欢编写多个逻辑二等分提交,并且压缩它们会从这些提交及其提交消息中删除有用的信息。但是,如果您无论如何都想这样做,那就是您的做法。
推荐阅读
- angular - 提交时的 Angular 6 验证
- javascript - 函数迭代查询
- javascript - .css 文件, ::first-line 不可能。如何做到这一点?Ubuntu 18.04
- prolog - 为什么 SWI-Prolog 的行为看似不一致?
- scala - 如何读取大流并比较计数?
- c++ - 将数据写入文件和 CodeGuard 错误通知
- java - 媒体播放器被安卓系统杀死
- java - 如何使用 AnnotationConfigApplicationContext 处理“没有合格的 bean”错误
- elixir - 我可以使用 ExUnit 和 Mix 将辅助模块拆分为不同的文件吗?
- security - 为什么在数据库已经受到威胁时使用哈希密码?