Posted at

消したはずのリモートブランチがローカルで表示されるので削除する

More than 5 years have passed since last update.

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で実行されてしまった、と書いてあるが、自分が試したときはちゃんと確認だけ実行された。