Gitでマージをdry-runする

はじめに

大きめの作業内容なのでトピックブランチを作っていたのですが、作業内容の大きさゆえに時間がかかってしまい、実際に main にマージする際に「果たしてこのブランチをマージして、デグレとかしないか?コンフリクト出てないからたぶん大丈夫だけど…」となりました。

git merge コマンドの--no-commitオプションを使用すると、実際に発生する差分をチェックすることができて便利だったのでメモしておきます。

結論

ローカルのブランチで

git merge --no-commit --no-ff ブランチ名

内容に問題なければ

git commit

すると、マージコミットが作られる(FastForward でも作られるので、こだわりがある場合は以下の abort で中止して、再度 git merge するのが吉)。

やっぱりこれマージしたらあかんわ、ならば

git merge --abort

これでマージのチェックのために一時的に追加されていたステージングエリアが元に戻る。


使用しているオプション

—no-commit

—no-ff

—abort

参考