👋

[git]git revert 間違えてマージしてしまったとき。

に公開

マージを取り消す方法

マージを取り消す方法は2通り存在します。

  • git reset --hard <コミット番号>
  • git revert -m 1 <コミット番号>

今回はrevertで行っていきます。

git revertとは

  • 既存のコミットを取り消す」そして新しくコミットを作成するコマンド。

似たコマンドで言うと、git resetがありますが...

  • git reset: そのまま過去に戻す
  • git revert: 特定のコミットの変更を打ち消し、新しいコミットを作成するもの。

git revertの方法

1. まずリモートでrevertを押す

2. mergeを打ち消すPRを作成

revertを押すと以下のようにPRが表示されるので作成

3. mergeを行う

  • ブランチを確認すると、以下のようにmergeを打ち消すブランチ(revertブランチ)が作成される。

  • マージ後、必須ではないが、mergeを打ち消すこのrevertブランチを削除してもよい
     (Delete Branchを押す)

  • コミットを確認するとこのようになっている

    • 間違えてしまったマージ
    • リバート
    • マージを打ち消すマージ

revertしたブランチを再度PRに出したい時

もう一度PRを出せるようにするには、revertをrevertする必要がある!!!

revertを、revertしよう!!!

  1. ローカルに戻り、マージ、revertしてるのでmainにpullする

  1. git logで確認

  1. 新しいブランチを作成
  2. revertをrevertする

revertして作られたコミットをrevertしていく。
今回でいくと、この部分ですね。

git log,でなければリモートでも確認可能。

**git revert コミット番号**を行う。
以下のように表示される。ここでコミットメッセージ編集可能。

では編集し終えたらescを押して、:wq!を入力し出ましょう

このように作っていたものが復元しましたね!

  1. 最後に再度revertのrevertが反映されているか確認しましょう!
    git logで確認です。
    一番上のがそうですね!反映されています!

  2. 最後にpushです。

さ、今回はちゃんとマージ先確認しましょう。笑

Discussion