Gitで既にmasterにマージされている使用済みブランチを消す方法

  • 70
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

ブランチいっぱい作っているとどれがマージ済みで削除していいかわからなくなったりしますよね。そんな時のためのTipsです。

使用済みブランチの削除関係Tips

リモートリポジトリ名をoriginとする。

  • ローカルのマージ済みブランチを(currentとmaster以外)消す

(現在のブランチにマージ済みなものを消すので通常git checkout master後に使う)

git branch -d $(git branch --merged | grep -v master | grep -v '*')
  • リモートのマージ済みブランチを消す
git push origin $(git branch -r --merged | grep origin/ | grep -v master | sed s~origin/~:~)
  • リモートで消されたブランチをローカルに反映
git remote prune origin
  • fetchする時についでに反映(-p--prune)
git fetch -p origin

合わせ技

ローカルのmasterをリモートのマスターに同期するのと同時に、既にmasterにマージされたブランチをローカル、リモート共に消す。
自分はmasterを同期させたいタイミングではいつもこのコマンドを使っています。

git checkout master && git pull origin master && git fetch -p origin && git branch -d $(git branch --merged | grep -v master | grep -v '*') && git push origin $(git branch -r --merged | grep origin/ | grep -v master | sed s~origin/~:~)