【发布时间】:2011-04-17 14:57:42
【问题描述】:
我正在尝试恢复错误的合并,但两个命令的恢复更改看起来都不正确。
这就是我进行合并提交的方式:
# merge master into branch:
git checkout branch
git merge master
# resolve conflicts
git commit
git push
现在我想恢复该合并:
git log b2e
commit b2e...
Merge: de9... cf4...
git revert -m 1 -n b2e
问题是git status 表明它只会撤消我解决的冲突,而不是整个合并。
命令git revert -m 2 -n b2e 将撤消在合并之前对分支所做的更改,这也是我不想要的。
第二个问题是: 如何显示合并提交中的更改?
git show b2e # only shows the conflicts I resolved
git diff b2e de9 # does the same
git diff b2e cf4 # shows what is different between the branch and master
更新:de9 提交是正确的,并且 git diff b2e de9 确实显示了提交的内容。我感到困惑的一个原因是因为删除/保留冲突没有显示在差异中,所以我认为 git 没有向我显示更改。与cf4 的差异,来自master 的提交,让我更加困惑,因为我不太明白发生了什么。
这个问题不用回答了。
【问题讨论】: