mac のシェル環境(zsh)から、マージされたリモートのGitブランチを削除するコマンドです。
コマンド
git branch -v -r --merged origin/develop | grep -v -e master -e develop -e test | sed -e 's/origin\///g' | cut -d' ' -f 3 | xargs git push -d origin 読みやすく複数行にすると
git branch -v -r --merged origin/develop | \
grep -v -e master -e develop -e test | \
sed -e 's/origin\///g' | cut -d' ' -f 3 | xargs git push -d origin コマンドの各パーツ
マージされたブランチを一覧で出力
git branch -v -r --merged origin/developここでは origin/develop にマージされたブランチを出しています。
消してはいけないブランチを除外
grep -v -e master -e develop -e testmaster, develop, test を含むブランチを消してはいけないものとして除外しています。
ここまで繋げて実行すると、対象となるブランチを見ることができます。
ブランチ名の変換
sed -e 's/origin\///g'表示されるブランチに origin
が付いていますからその部分を消します。
ブランチ名の抽出
cut -d' ' -f 3 最終コミットのメッセージが出ていますので、それを除外します。
リモートブランチ削除
xargs git push -d origin その他
不要になったブランチは削除しましょう。