Revertしようとしたら怒られた
Sorry, this pull request couldn’t be reverted automatically. It may have already been reverted, or the content may have changed since it was merged.
自動でリバートしようとしたけど、マージ後にファイル変更が入ったからリバートできないっぽいです。
$ git fetch
$ git switch -c revert-branch origin/main
$ git revert -m 1 a12345678
# ... コンフリクト解消する
$ git add .
$ git revert --continue
ローカルでrevertしてコンフリクト解消すればokでした。
補足: -m オプション
今回はマージコミットをリバートしてるので -m オプションが必要です。
$ git revert a12345678
error: commit a12345678 is a merge but no -m option was given.
fatal: revert failed
-m オプションを指定しないとエラーになります。
$ git revert -m
-m, --[no-]mainline <parent-number>
select mainline parent
merge strategy
option for merge strategy
GPG sign commit
使い方はこうです。
$ git revert -m <親番号> <コミットID>
補足: parent-number(親番号)
$ git show a12345678
commit a12345678128a51bbb7ee8800f0a83558adbb83e
Merge: b12312312 c45645645
Author: ucan-lab
Date: Fri Dec 6 14:11:52 2024 +0900
この例だと 左のコミット(b12312312)が親番号1で右のコミット(c45645645)が親番号2です。
親番号1(マージ先ブランチ)を基準にします。
これを指定するとマージ元ブランチの変更のみを取り消す形になります。
親番号2を基準にするとマージ先ブランチの変更を取り消す形になるので通常は使用しないはずです。