作業ノート

様々なまとめ、雑感など

git logでマージしたファイルを確認する

ベースとなるブランチからサブブランチを作成し、それをno-ffでマージしたときに困ること。

普段、一つの機能を実装するときにサブブランチを作成する。そこから、サブ機能や変更点をファイル単位に切り分けて考え、その単位で実装、テストを行い、少しずつコミットを行う。

必要な実装を全て行ったら、no-ffでマージする。結果的に比較的少ない範囲の変更点を持つコミットがサブブランチ上にいくつかでき、それがマージされた形でコミットログとして記録される。

少しずつ実装を行うので、作業中は対象を管理しやすくなり、とても楽。一方、マージ後にそのブランチで変更したファイルを調べたいときは、そのサブブランチ上の全ての変更点を確認することになり、かなり面倒。

こういうときに、マージしたファイルをコミットログから確認する方法。

$ git log -m -1 --name-status

-mオプションは、マージコミットを通常のコミットと同じように扱うオプション。

なお、git diffでも同様の確認はできる。

$ git diff HEAD~ --name-status

ただし、実行時のワーキングディレクトリに変更点があると、それも対象になる。

参考