Closed6

リモートで削除したブランチと同じローカルブランチを削除する

u1u1

いろいろと探してみたけど、これが自分のやりたかったやつで良さげ。

git fetch -p && git branch -vv | grep ': gone]' | awk '{print $1}' | xargs git branch -D
u1u1

Githubベースで開発してプルリクマージしたらブランチ削除する設定で運用していると、リモートブランチはマージ済みで削除されているのにローカルにはブランチが残り続けてしまいます。
その状態だとブランチの一覧が見づらいと思ったので使っていないローカルブランチを1つずつ地道に削除するのではなくて、リモートで削除済みのブランチを一発で削除できるコマンドを探していました。

u1u1

自分の結論としては .gitconfig に以下のエイリアスを書いたら便利。

[alias]
        clean-branch = !git fetch -p | git branch -vv | grep ': gone]' | awk '{print $1}' | xargs git branch -D
このスクラップは2022/11/22にクローズされました