目的
現在のブランチとmasterブランチ以外を一括削除したいときに使う!
git version
2.16以下
何もしない
2.16以上
git config --global pager.branch falsegit 2.16版からgit branchの出力はページングされるようになったため、まず無効にする
一括削除
.bashrcに以下の内容を追加する
gbrm(){
git branch | grep-v`git branch --show-current` | grep-v'master' | xargs git branch -d}↑これで
- current branch
- master
以外のブランチを削除されます。
補足
-d, --delete
Delete a branch. The branch must be fully merged in its upstream branch, or in HEAD if no upstream was set with --track or --set-upstream-to.
-D
Shortcut for --delete --force.
-dはmerge済みか、upstreamを設定してないブランチしか削除されない。間違えて開発中のブランチを削除してしまうことを防げます。
関係なく、削除したい場合は、-Dをを使ってください。
使い方
FO-602:manager feng$ git branch
current-working-branch 582c921c2
last-week-branch 582c921c2
master 582c921c2
* merged-branch 582c921c2
FO-602:manager feng$ git checkout current-working-branch
Switched to branch 'current-working-branch'
FO-602:manager feng$ gbrm
Deleted branch last-week-branch (was 582c921c2).
Deleted branch merged-branch (was 582c921c2).