Gitでリソースを管理していると、徐々にマージ済みのブランチが溜まっていきます。定期的に不要なブランチを削除しているのですが、毎回コマンドを打つのも面倒なので、aliasに設定してCOOL
にします。
aliasの設定
[alias]
refresh = "!f () { git checkout $1; git pull --prune; git branch --merged | egrep -v '\\*|master|develop' | xargs git branch -d; };f"
使い方
$ git refresh develop
説明
- 指定されたブランチに
checkout -
pull --pruneでリモートの変更をローカルに反映し、リモートにて削除されたブランチをローカルからも削除 -
branch --mergedでマージ済みのブランチ一覧を取得 -
egrep -vで(3)から master と develop を除いた一覧を取得 -
xargsで(4)の内容を順に処理しbranch -dでブランチを削除
補足
refresh の後に指定したブランチを引数にして処理します。egrep -v で除外するブランチを指定しているので、環境に合わせて追加 or 削除してください。