Gitでリモートブランチを消してもgit branch -aに出てくる件

$ git push origin :remote_branch_name

とかやるとリモートブランチを削除できるのですが上記コマンドを実行した環境以外で
git branch -aをやるとまだ表示されてしまっていたので消す方法。


git fetchで行けるかと思ったのですがどうもfetchは同期をとるものではなく取りに行くだけのようですね。


下記サイトを参考にさせていただきpruneオプションの存在を知りました。
どこにもリンクしていないオブジェクトは削除してくれるようです。

$ git fetch --prune

ただ、このオプションはgit1.6.6以降のみ使用可能とのことで。


それより古いバージョンの際はgit remote pruneを使うみたいです

上記サイトを参考にして

# 情報をみる
$ git remote show origin
#=>  stale (use 'git remote prune' to remove) 削除したリモートブランチはこんなふうにでてた

# ↓とかすると↑みたいに表示されていたブランチがリストから消える
# -nつけると--dry-runしてくれるよ
$ git remote prune origin

たぶん使う機会多かったからオプション化されたのでしょうね
[asin:427406767X:detail]