2015-06-23 148 views
2

我刚刚修复了一个非常长的合并冲突,然后意识到我合并到了错误的分支!我合并到dev-majorversion当我打算合并到dev-majorversion.minorversion。 有没有什么办法可以撤销majorversion上存在的提交,但minorversion上不存在用于撤消这些提交的分支,还是我需要再次合并?恢复分支独有的提交

回答

1

你可以樱桃采摘您的合并决议:

git checkout dev-majorversion.minorversion 
git cherry-pick <SHA1 of commit resolving merge> 
git merge --ours <yourBranchToMerge> # the one your already merge into the wrong branch 

的混帐合并--ours记录<yourBranchToMerge>dev-majorversion.minorversion之间的合并,但保留的dev-majorversion.minorversion完整(包括其樱桃采摘提交)的内容。

你仍然需要验证提交樱桃采摘是与dev-majorversion.minorversion内容(因为它代表冲突解决dev-majorversion初步完成)

如果是这样,你可以回去dev-majorversion和重置HEAD兼容到以前承诺取消在此完成的合并(假设合并是在dev-majorversion上完成的最后一次操作,并且尚未推送)

git checkout dev-majorversion 
git reset --hard @~