$shibayu36->blog;

クラスター株式会社のソフトウェアエンジニアです。エンジニアリングや読書などについて書いています。

今日覚えたgitのコマンド

git branch --merged master

とかやるとmasterにmergeされたbranchが一覧できる。-rをつければremoteの奴が一覧できる。

git branch --contains (SHA1)

とかやるとあるsha1を含むbranchを一覧できる。

これを応用すると

git branch --merged origin/master | perl -lnpe '$_ =~ s/[ *]+//;' | grep -v '^master$' | xargs git br -d

みたいな感じでmasterにmergeされたlocalブランチをすべて消すことができる。

便利ですね。

ちなみにmaster ブランチにマージ済みのリモートブランチをまとめて削除する git-prune-remote-branch というスクリプトを作った - @kyanny's blogみたいな便利なのもあります。