QA@IT

Gitのmerge済みのブランチをまとめて消すには?

2674 PV

Gitでmerge済みのブランチを放置していたら、増えすぎてしまって、1つ1つ手で消すのはつらい感じです。merge済みのブランチは、

$ git branch --merged
  foo
  bar
  hoge
* master
  minor
  :
  :
$

と表示できますし、

$ git branch -d foo

で1つずつブランチを消すことはできます。この両方を一気にやるには、どうすればいいのでしょうか?

回答

git branch -d `git branch --merged | sed 's/^[* ] //'`

で、消せるかと思います。

編集 履歴 (2)
  • やはり Git のコマンドとしては存在しないということでしょうか。 -
  • この辺は好みかと思いますが、 git branch --merged |grep -v "\*" |xargs git branch -d という感じで消すことはできました。ありがとうございます。 -
  • マニュアル読み限り直接のコマンドは見当たらなかったです。 -
  • なるほど、ありがとうざいます! -
  • あ、master消したら駄目ですよね。失礼しました。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。