我们正在尝试调整Skullcandy的git flow-link
简而言之,流程为:
- 功能分支由母版重新分支
- 完成该功能后,代码将重新建立基础/合并到QA分支,是否可以在需要时进行其他测试(在此处创建了请求请求并完成了代码审查)
- 测试完成后,我们使用另一个Pull请求将功能分支变基/合并到母版中
现在,使用这种方法在合并和重新设置方面都存在问题。
变基法:
- 我们创建PR进行质量检查并进行质量检查(另外提交1次)
- 我们使用快速变基快速完成对质量检查的PR
- 完成对QA的PR后,对Master的PR可能会显示以前不存在的其他提交。如果我要从原始位置删除分支,然后从本地存储库中再次推送它,并创建新的PR来掌握它,则它会再次正确显示1个其他提交
我不确定为什么会这样。似乎要素分支的提交历史几乎已被重写。我也不确定这种方法是否可行,因为rebase可以创建新的提交SHA,因此可以将它们显示为更改。
合并方法:
- 我们创建PR进行质量检查并进行质量检查(另外提交1次)
- 我们完成了质量检查的PR,并通过合并掌握了
- 这里出现的问题是,由于在我们再次从master重新分支以获取新功能并创建新的PR进行质量检查之后,由于merge产生了一个额外的Merge提交,因此它显示了master的Merge提交作为更改。它还在代码查看窗格中显示了在合并提交中所做的所有更改,这是有问题的。
我猜是因为QA和master分支上的合并提交的SHA不同而发生此问题的?
摘要
您能帮我理解为什么rebase会表现出这种方式吗?
关于我们如何改善流程有什么建议吗?
我们希望仅使用主流程,但为此,我们需要自动生成的测试环境来进行自动化测试,而我们还没有:)