限制分支 X 只能从 Github 中的一个特定分支 Y 合并

问题描述 投票:0回答:2

我的存储库属于我创建的组织。我想防止拉取请求期间出现错误。例如,意外地允许从

master
以外的分支合并
development
分支。

我怎样才能做到这一点?

git github
2个回答
1
投票

没有直接解决方案

我不知道 Git 中有任何直接机制可以做到这一点。然而,还有其他方法。

这是工程和软件开发中经常发生的“硬流程规则”与“委派和培训”问题。

替代方法

如果您将

master
设为受保护分支,那么只有那些对受保护分支具有较高访问权限的人才能推送到它,和/或合并拉取请求(理想情况下,没有人会在没有拉取请求进行审查的情况下直接推送,除非修复了合并/提交问题)。确实没有必要确保它们仅来自
development
(在我看来),这只是您需要与每个被赋予这些权利的领导/高级开发人员达成一致的过程。

Git 提供了大量工具来恢复极少数情况下出现的错误。当然,您最终可能会做出一两次额外的提交,但这并不是什么灾难性的事情。完全僵化、自上而下的流程比稍微宽松一点、对员工进行最佳实践培训并通过培训和纠正(当确实发生奇怪错误时)使他们成为更好的开发人员的方式损失更多的生产力。

至少这是我的经验。

关于 GitFLow 的注意事项

如果您不熟悉 GitFlow - 请在此处查看,但请注意,具有良好自动化测试覆盖率的理想 CI/CD 方法不需要发布分支,也可能不需要开发。


0
投票

我的解决方法是创建一个自定义 github 工作流程/操作,仅在推送到分支 Y 时运行。让我们将此操作命名为“special_action”

然后在分支X上设置分支保护,确保分支X只允许在“special_action”检查通过时合并PR。

由于“special_action”仅在推送/合并到 Y 分支时运行,因此此设置可以让您实现您想要的。

© www.soinside.com 2019 - 2024. All rights reserved.