【发布时间】:2013-06-16 03:11:43
【问题描述】:
在我们的存储库中,我们基于功能分支开发功能。最近我在master 中集成了一个功能feature/myfeature:
git merge --no-ff feature/myfeature
在这次合并之后,发生了更多的开发,直到结果证明这个功能有问题并阻止了集成,所以我决定恢复这个合并。在https://stackoverflow.com/a/6217372/1237653 之后,我选择了在不破坏历史记录的情况下恢复合并的唯一选项:
git revert -m 1 commit_hash
与此同时,master 的更多开发已经发生,并且作者添加了修复提交。现在我想再次运行以集成/合并该功能。不幸的是,现在我遇到了十几个冲突,因为第一次应用和恢复与第二次尝试接触的代码行完全相同。
git merge --no-ff feature/myfeature
<pointless conflicts all over>
我怎样才能重新应用我之前恢复的功能分支,而不会出现那些毫无意义的冲突?
我尝试-s recursive -Xrenormalize 没有运气。 Rebase 也会导致同样的冲突。
【问题讨论】:
-
作为一种“解决方法”,我通过手动将其所有提交精选到覆盖旧分支的新分支中来破坏功能分支的历史记录。感觉又丑又丑。
标签: git conflict git-merge git-revert feature-branch