どうもこんにちは。
今回はわかりづらい「マージコミットを取り消す方法」を調べましたのでメモします。
通常のコミットとマージコミットの違い
通常のコミットは、修正をしたコードを修正ブランチへ反映させるという意味を持ちます。
マージコミットは、修正が反映されたブランチをmasterブランチやdevelopブランチへマージした時に生じるコミットです。
マージコミットを取り消す手順
今回はdevelopブランチからaa11bb22cc33dd44ee55というコミットIDを持つコミットを取り消す想定で話を進めます。
1. マージを取り消したいブランチへ移動する
git checkout develop
2. revertする
git revert -m 1 aa11bb22cc33dd44ee55
これでマージコミットが取り消されました。-m
がないとマージコミットの取り消しができないので注意してください。
revertコマンドについて解説
-m
の後の1
は、以下のMerge
項目のff66gg77
を指す「親番号」となります。
% git show aa11bb22cc33dd44ee55
commit aa11bb22cc33dd44ee55
Merge: ff66gg77 hh88ii99
Author: test_user <test_user@mail.com>
Date: Fri Jan 19 17:10:33 2024 +0900
コミットメッセージ
以上