【Git】マージ済のローカルブランチを一掃するコマンド

git エンジニア
記事内に広告が含まれています。

マージ済のローカルブランチを一掃するgitのコマンドについてご紹介します。

流れとしては大きく3つあります。

  • マージ済ブランチ一覧表示
  • 特定のブランチを除外
  • ブランチ削除

それぞれ順番に説明しながら、ローカルブランチを一掃するコマンドをご紹介します。

マージ済のローカルブランチを一掃するコマンド

※最初にmasterブランチにcheckoutしてpullしておきましょう。

マージ済のローカルブランチを一掃するコマンド

git branch --merged | xargs git branch -d

 

特定ブランチ(master)以外のマージ済のローカルブランチを一掃するコマンド

git branch --merged | grep -v "master" | xargs git branch -d

 

複数の特定ブランチ(master/develop)以外のマージ済のローカルブランチを一掃するコマンド

git branch --merged | grep -v "main\|develop" | xargs git branch -d

 

各コマンドの解説

確認用として下記のブランチを用意しています。

master
develop
test1 -> マージ済
test2 -> マージ済
test3 -> マージしていない

git branch

ローカルのブランチ一覧を表示します。

% git branch master
* master
develop
test1
test2
test3

 

git branch –merged

マージ済のローカルのブランチ一覧を表示します。

% git branch --merged
* master
develop
test1
test2

 

git branch –merged | grep -v “master”

「master」ブランチ以外マージ済のローカルのブランチ一覧を表示します。

% git branch --merged | grep -v "master"
develop
test1
test2

 

git branch –merged | grep -v “master\|develop”

複数の特定ブランチを除外する場合です。

「master/develop」ブランチ以外マージ済のローカルのブランチ一覧を表示します。

% git branch --merged | grep -v "master\|develop"
test1
test2

 

git branch –merged | grep -v “master\|develop” | xargs git branch -d

これまで表示していたブランチを削除します。

つまり、「master/develop」ブランチ以外マージ済のローカルのブランチである「test1」「test2」を削除します。

% git branch --merged | grep -v "master\|develop" | xargs git branch -d master
Deleted branch test1 (was bdbca5c).
Deleted branch test2 (was 1bd56a9).

 

ブランチ一覧を表示すると「test1」「test2」が削除されていることが確認できます。

% git branch
* master
develop
test3

コメント