还原对分支唯一的提交

时间:2015-06-23 04:23:07

标签: git git-merge git-revert

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

1 个答案:

答案 0 :(得分: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上完成的最后一次操作,那就是#n}&# 39; t push yet)

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