0
0

More than 3 years have passed since last update.

Git でマージされたリモートブランチを削除 (mac)

Last updated at Posted at 2020-11-15

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 test

master, develop, test を含むブランチを消してはいけないものとして除外しています。

ここまで繋げて実行すると、対象となるブランチを見ることができます。

ブランチ名の変換

sed -e 's/origin\///g'

表示されるブランチに origin が付いていますからその部分を消します。

ブランチ名の抽出

cut -d' ' -f 3 

最終コミットのメッセージが出ていますので、それを除外します。

リモートブランチ削除

xargs git push -d origin 

その他

不要になったブランチは削除しましょう。

0
0
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
0
0