2
我刚刚修复了一个非常长的合并冲突,然后意识到我合并到了错误的分支!我合并到dev-majorversion
当我打算合并到dev-majorversion.minorversion
。 有没有什么办法可以撤销majorversion
上存在的提交,但minorversion
上不存在用于撤消这些提交的分支,还是我需要再次合并?恢复分支独有的提交
我刚刚修复了一个非常长的合并冲突,然后意识到我合并到了错误的分支!我合并到dev-majorversion
当我打算合并到dev-majorversion.minorversion
。 有没有什么办法可以撤销majorversion
上存在的提交,但minorversion
上不存在用于撤消这些提交的分支,还是我需要再次合并?恢复分支独有的提交
你可以樱桃采摘您的合并决议:
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 @~