マージされたまま放置していたブランチとかその辺を掃除したかった。 不要なブランチを列挙できれば | xargs git branch -D でローカルブランチを削除したり、| xargs git push origin -d でリモートブランチを削除したりできるわけだ。 直接マージされたブランチ(=masterから辿れるコミット) git branch にはちょうどマージ済みのものを抽出するオプションがある。 git branch --merged master --format "%(refname:short)" をつければHEADであることを表す * を消せる。 upstreamが消滅しているブランチ GitHubでPRを送ってマージされてその場でブランチを消した、とか。 そういったブランチは git branch -v だと [gone] 、git branch -vv だと [o