git branch -a
を実行したら、消したはずのリモートブランチが居ることがある。
自分でgit push origin :hoge-br
で消した奴は出てこない。
他の人が消したか、あるいはgithubの機能で削除したとき、この現象が起きるようだ。
鬱陶しいので消したい。
どうすればいいか。
確認する
$ git remote show origin
このコマンドを打つと、現在のブランチの状態的なものが確認できる。
問題ないブランチ(現在利用されているとか、削除されていないもの)は、「tracked」と表示される。
対して、消えない腐ったブランチは「stale」と表示されるはず。
削除する
staleなブランチを消すにはどうしたらいいか。
削除するにはprune
を使う。
$ git remote prune origin
「stale」の奴らを一掃してくれる。
消されるブランチを事前に確認したい人はdry-run
を利用しよう。
$ git remote prune origin --dry-run
これでスッキリ。
参考記事
http://blog.s21g.com/articles/992
※この記事だとdry-run
で実行されてしまった、と書いてあるが、自分が試したときはちゃんと確認だけ実行された。