gitで、リモートのブランチを誰かが消したにも関わらず、git branch -r をすると表示されしまう。(remote ref does not exist)

2013年11月19日

複数人でgitリポジトリを管理しており、ほかの誰かがリモート上のあるブランチを削除した場合

ローカルリポジトリ上で

git branch -r

とやると、消されたはずのブランチが出てきてしまう。

さらに、ここで

git push origin :deleted_branch

とやってみても

error: unable to delete 'deleted_branch': remote ref does not exist
error: failed to push some refs to '/tmp/remote.git

という感じでエラーが出てしまう。

こんな時は

git remote prune origin

というコマンドをたたいてやると、リモートの状態を再度取得してくれる。

ちなみに、pruneというのは取り除く、とか切り取る、とかそんな雰囲気の単語らしいので

リモート上で削除されたブランチをローカルからも取り除く、といった意味合いかな?と思います。

アンケート

git, 開発

Posted by GENDOSU