マージ済のローカルブランチを一掃する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
コメント