👋
[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しよう!!!
- ローカルに戻り、マージ、revertしてるのでmainにpullする

- git logで確認

- 新しいブランチを作成
- revertをrevertする
revertして作られたコミットをrevertしていく。
今回でいくと、この部分ですね。

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

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

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

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

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

-
最後にpushです。
さ、今回はちゃんとマージ先確認しましょう。笑

Discussion