概要
マージをするとマージコミットがmasterに反映されます。
そのコミットをrevert
する(取り消す)コミットをmasterで新たにコミットすると、マージする前のmasterの状態に戻ります。この時に-m1オプションを含めます。
具体的なコマンド
-m1を指定すると、マージコミットが作成されたときの最初の親(通常はマージ操作を開始したブランチ)の状態に戻します。
例えば、以下のコマンドは最初の親を基準にマージコミットを元に戻します:
git revert -m 1 ddfec34a0996e1d9e98428cdb3152b2ee3b14bd6
ここで、ddfec34a0996e1d9e98428cdb3152b2ee3b14bd6
はマージしたコミットのハッシュ。→ ゆえにマージブランチの反映が取り消される。
その一方で、revert操作は競合を引き起こす可能性があるときは、競合解決してからコミットを完了してください。
Revertした後、再度マージする
リバートしたら再度、取り消したマージ内容を盛り込んだPRを作りたいです。
そのときは再度、前段のRevertしたコミットを含めた状態から、ブランチを切り、
そのRevertコミットを再度、ブランチ内でRevertしてください。
そうすることで、はじめの取り消したマージのコミット内容が再度、masterブランチにたいする差分として元に戻ります。