現在、私のgitリポジトリには次のような状況があります。
HEAD -- 0 -- 1 -- ... -- 3 -- 5 master
\-- 2 -- ... -- 4 --/ branch-1
ブランチ「branch-1」は、しばらく前にマスターからフォークされました (コミット 5 を参照)。
コミット 0 で、それをマスターにマージしたかったのですが、コミット 1 と 3 の間にマスターで発生したすべての変更が上書きされました。効果的な作成
0 -- 2 -- ... -- 4 -- 5 master
私の同僚はこの状態で作業を続けることができなかったので、マージ コミットを元に戻しました。したがって、HEAD を 1 と同じに設定しました。使用するコマンドは「git revert -m 2 0」です。
しかし今、私は自分の変更を再びマージしたいと思っています。今度は成功することを願っています。次のようなものを作成する必要があります。
-2 -- HEAD -- 0 -- 1 -- ... -- 3 -- 5 master
\ \-- 2 -- ... -- 4 --/
\--- -1 ------/
これは、失敗したマージ 0 を回避し、マージ前のクリーンな状態 (元に戻すことで達成したクリーンな状態) に戻る新しいコミット -1 になります。
ただし、2 を HEAD にマージしようとしても機能しません。これは、すでに 0 でマージされているためだと思います。