恢复分支独有的提交
Posted
技术标签:
【中文标题】恢复分支独有的提交【英文标题】:Revert commits unique to a branch 【发布时间】:2015-09-08 17:22:21 【问题描述】:我刚刚修复了一个非常长的合并冲突,然后意识到我合并到了错误的分支!当我打算合并到dev-majorversion.minorversion
时,我合并到了dev-majorversion
。
有什么方法可以撤消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
git merge --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 @~
【讨论】:
以上是关于恢复分支独有的提交的主要内容,如果未能解决你的问题,请参考以下文章