5
1
記事投稿キャンペーン 「2024年!初アウトプットをしよう」

Gitのローカルブランチをまとめて削除する方法

Last updated at Posted at 2024-01-19

結論

mainブランチを除くすべてのローカルブランチを削除するコマンド
git branch | grep -v "main" | xargs git branch -d

mainブランチ以外のすべてのローカルブランチが一度に削除され、ローカルブランチ一覧をスッキリさせることができます。

使用例

例えば、以下のように多くの使用済みローカルブランチが存在する場合に便利です。

main以外のローカルブランチはもう用済みだから削除したい…
% git branch
  hoge
  hogehoge
  hogehogehoge
* main

解説

git branch

リポジトリ内の全てのブランチを一覧表示します。

grep -v "main"

"main"という文字列を含む行を除外することで、mainブランチを削除の対象リストから外しています。

xargs git branch -d

残りのブランチを一つずつ削除します。
xargsは標準入力から受け取った各行を次のコマンドの引数として渡します。
この場合、各ブランチにgit branch -dコマンドが渡されて、それぞれのブランチが削除されます。

補足

強制削除 git branch -D

マージされていないコミットがある場合はgit branch -dだとエラーになります。
マージしなくて構わないのであればgit branch -Dでコミットを無視して強制削除ができます。

git branch | grep -v "main" | xargs git branch -D

個別にローカルブランチを削除

git branch -d hoge
git branch -d hogehoge
git branch -d hogehogehoge
5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1