我们有一个简单的工作流程,包括三个主要分支:
staging
即测试环境
master
即生产环境
dev/XXX
其中XXX是票号
- 客户提交问题票
- 我们创建一个分支,例如
dev/2332
- 我们进行工作+提交+推送
- 当准备好时,我们将工作合并到
staging
中 - 客户在
staging
上批准工作 - 我们将工作合并到
master
中,并在生产环境部署该票
问题:
如果多个开发人员正在各自的dev/XXX
分支上工作;当他们合并到staging
时,有时会产生冲突。他们在staging
上解决这些冲突并推送。
问题在于,当客户批准这些特定的票并且我们将工作合并到master
中时,我们必须再次解决冲突。
重要提示:
- 由于未经批准的票证,我们无法将暂存区合并到主分支
- 默认情况下,所有分支都是从最新的主分支创建的
- 多个票证同时开发,但在批准后部署
- 如果已经获得批准并已部署工作,则从主分支进行变基以避免冲突仅是一种选择
- 由于未经批准的票证,从暂存区进行变基不是一个选项
有没有解决此问题的想法?我们的工作流程是否有缺陷?我们是否缺少一些 Git 小技巧?
基本上,我不希望团队重复相同的工作
谢谢
dev/123
的更改只有在应用了staging
上未经批准的更改dev/456
时才能生效呢?那么将dev/123
合并到master
中将会导致一个错误,在你肮脏的staging
分支中永远无法检测到。 - grossvogelstaging
**之前进行变基可以减少以后这种冲突的数量。现在和以后总会有一些冲突;关键是尽量减少它们的数量。 - Jan Hudec