这是我们的情景:
开发人员将Master分成一个新的分支并开发一些代码。大师进步。当它通过QA并合并到Master中时,将运行完整的回归测试。有时,一个分支(其中一个分支被合并/测试发布)无法回归。因此,我们希望还原该合并并继续释放其余代码。通常情况下,只需要在原始开发中调整一些内容,QA再次进行调整,然后重新进入master,但由于Master恢复了更改,因此大多数分支更改都会被删除。在进行更正后如何最好地将此dev分支重新合并为master,而不会因为还原而丢失更改?
答案 0 :(得分:1)
从表面上看,这听起来就像是在工作流程中使用了不正确的恢复。
为避免这种情况,如果master已超出分支,则应将master合并到分支中,而不是相反。
所以:
此工作流程避免了任何需要在任何时候恢复作为促销工作流程的一部分(开发人员可能仍需要不时在其开发分支中恢复)。
您永远不需要将合并从主设备还原到分支机构,因为要将更改接受到主设备,它们必须在首先到达主设备之前通过测试。因此,合并到您的分支中的任何失败都需要在该分支中解决,然后才能被接受回主分区。
答案 1 :(得分:0)
git不会合并之前已经合并的任何提交。由于提交仍然是主人的历史(但后来提交还原)git不会再次应用它们。解决方案是:
git revert
还原更改的提交。或(更好的解决方案):