git - Git-flow 适用吗?我认为 git-flow 在发布前合并到 master 的步骤存在缺陷
问题描述
大多数使用 git-flow 的人在开发如下功能后会指导发布过程。
- 合并
feature
分支进行开发 release
从_develop
- 在分支上启动 QA
release
并将 QA 的修复提交到release
分支。这也意味着release
版本源在 QA 环境(又名 beta)上运行 - QA 后将分支合并
release
到master
分支并标记version
到 master 分支。 - 如果生产环境中存在错误,
hotfix
则从分支创建分支。master
我认为第 4 步是有害的,因为其中有一个解决冲突的步骤。在解决冲突期间,可能会出现错误。
有人可以说,应该已经在release
分支上解决了潜在的冲突,以继续将最新的分支合并develop
到release
分支。该develop
分支包含最新的其他发行版本。
但这种说法是荒谬的。根据我的经验,在 QA 一个功能期间不能接受合并其他功能。甚至不可能一次又一次地合并。在这种情况下,不可能一次又一次develop
地将分支合并到分支。release
那么,从release
分支到master
分支的合并会产生很多冲突。之后,解决冲突的手动工作可能会产生其他在 QA 中找不到的错误。合并到master
分支后立即标记是仓促的。
release
我的公司通常在使用分支完成的 beta QA 之后进行生产环境 QA 。在这种情况下,可以产生这么多的hotfix分支,不是吗?不仅如此,我认为这个名称hotfix
不适合这种情况,因为它实际上并没有在生产环境 QA 之前发布。
[我的想法和建议]
在这种情况下,我认为发布应该在release
分支上完成并标记它。因为release
分支在 QA 期间经过验证,并且没有将其合并到另一个分支的潜在错误。
有人会说你会得到太多的分支。如果我在提交上标记它并删除分支并不重要。
[问题]
如果我的想法是错误的或有缺陷,请让我知道并理解为什么 git-flow 更好或完美无缺。
如果您同情我的背景或同意我的想法,还有更好的主意吗?
解决方案
推荐阅读
- cakephp - 如何在 cakephp-3 中创建自定义列表查找方法?
- php - 如何将java代码转换为php?
- java - 如何在 webview 中打开这个 html 正文表单?
- json - 如何访问具有相同名称的数组中的 JSON 变量?
- sql - SQLite - 根据特定的计算总和过滤记录
- babeljs - 为什么只使用 babel.config.js 可以编译 node_modules
- python - 将字符串连接到列表
- angular - Angular 谷歌地图无法在 Firefox 中运行,但在 chrome 中运行良好
- java - 如何在整数数组中使用 Math.min 和 Math.max
- c++ - 复制交换成语 - 我们可以在这里使用动态转换操作吗?