不完全なマージを元に戻そうとしていますが、両方のコマンドからの元に戻す変更が正しくないようです。
これは私がマージコミットを作成した方法です:
# 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
は、マージ前にブランチに加えられた変更を元に戻しますが、これも望ましくありません。
2 番目の質問: マージ コミットで変更された内容を表示するにはどうすればよいですか?
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 は何がコミットされたかを示します。私が混乱した理由の 1 つは、削除/保持の競合が差分に表示されなかったためでした。そのため、git が表示していない変更があると思いました。cf4
からのコミットであるへの diff'ing は、master
何が起こっているのかよくわからなかったので、さらに混乱しました。この質問に答える必要はありません。