しるてく

技術的な話をします

手元のトピックブランチをmasterにマージしたか確認する

いろんなブランチさわっていると、どれをmasterにマージしたか忘れてしまって、マージしてないのに終わった気になってgit branch -dとかしちゃいそうなので、まるっと確認するコマンド考えた。

% git co master
% git branch | grep -v '*' | xargs -t -I% git --no-pager log --oneline master..%

手元のブランチ名全部取ってきて、トピックブランチにはあるけどmasterにはないcommitがあるかどうかを一覧してくれる。

xargsの-tは実行前にコマンドラインを標準エラー出力に表示してくれるやつ。


マージされたやつだけを探すなら次のコマンドで十分ですね。

% git co master
% git log --oneline --merges

と思ったら

ふつーーーーーにこんなのがあった!!!

% git branch --no-merged
% git branch --merged

悲しい。最初にヘルプ見ろって話ですね!