Git:如何避免在上一次合并恢复后合并功能分支时发生冲突

时间:2013-06-19 14:18:50

标签: git conflict git-merge git-revert feature-branch

在我们的存储库中,我们基于功能分支开发功能。最近我将功能feature/myfeature集成到master

git merge --no-ff feature/myfeature

在这次合并之后,发生了一些更多的开发,直到事实证明,这个功能是错误的并阻止了集成,所以我决定恢复这个合并。在https://stackoverflow.com/a/6217372/1237653之后,我选择了唯一的选项来恢复合并而不会破坏历史记录:

git revert -m 1 commit_hash

同时在master上发生了更多的开发,并且作者添加了fixup提交。现在我想再次进行集成/合并功能。不幸的是现在我遇到了十几个冲突,因为第一个应用& revert触及与第二次尝试相同的代码行。

git merge --no-ff feature/myfeature
<pointless conflicts all over>

如果没有那些毫无意义的冲突,我怎样才能重新应用我之前恢复的功能分支?

我没有运气就试过了-s recursive -Xrenormalize。 Rebase也会引起同样的冲突。

1 个答案:

答案 0 :(得分:0)

您应该还原还原提交,而不是第二次合并您还原的分支。我的意思是字面意思,

git revert <sha1>

其中sha1是您之前的git revert提交的。