git - 我应该直接将开发分支合并到生产分支吗?
问题描述
我的 git 项目中有 3 个分支:
- 开发:这是我工作的地方;
- 半生产:我正在将开发合并到这个分支,以便自动将我的文件部署到测试服务器;
- 生产:我正在合并这个分支,以便自动将我的文件部署到生产服务器。
我的问题是:
我应该将开发分支合并到生产分支,还是应该将半生产分支合并到生产分支?
结果是一样的,但我想知道什么是最佳实践
谢谢。
解决方案
根据gitflow,您使用的命名不正确:您的开发分支称为功能分支。您的半生产分支是一个集成分支,历史上称为develop。你的生产分支没问题,我们称之为主分支。
根据原始 gitflow 模型,最佳实践是从develop合并到master。原因是您可能会将多个功能分支合并到develop中。
确实,如果您使用semi-production一次测试多个功能,并且您必须在semi-production上进行修补程序,那么合并的结果将不再相同。假设从半生产中合并为您消除了很多开销:您测试了该代码,然后将该代码发送到生产中。
这进一步取决于有多少开发人员:你一个人工作吗?如果不止你在同一台测试服务器上工作,那么他们也会在推动。您是否彻底检查过您是唯一推送到服务器的人,然后通过测试的服务器内容与您的开发分支的内容相同,并且只有当所有这些都通过时,您才打开合并请求生产部门?
最后,如果所有测试都通过,您可能会自动创建从半生产到生产的合并请求。需要人工审核,但请求会提前打开,从而缩短生产时间。
推荐阅读
- excel - 遍历 5 个名称并在 MS EXCEL 中的单独工作表中获取结果
- python - 尝试在终端中退出 pdb 时引发 BdbQuit 错误
- react-native - 使用 Reactive Native Debugger 时如何在 node_module 中排除 JavaScript 代码
- docusignapi - 签名后单击“完成”时,我没有收到付款提示。使用 Rest API 创建支付选项卡有哪些要求?
- react-native - 在事件侦听器中访问 redux 状态没有看到最新值
- javascript - React Native:水平对齐 - 中心和右侧
- java - 无法创建 java 正则表达式
- javascript - 用户输入满足条件后如何使表单错误消失
- python - 构建给定稀疏矩阵的对称邻接矩阵
- angular - ngb-datepicler 中更改事件的更改日期