先列出所有的 branch:
$ git branch -a
* api
cleanCode
dev
master
remotes/github/api
remotes/github/dev
remotes/github/master
remotes/github/pub/anime
remotes/github/pub/dev
remotes/github/pub/lock
已知其中 “pub/*” 開頭的 branch 其實已經都不存在了,這時候如果刪除 remote branch 會出現錯誤訊息:
$ git push github :pub/lock
error: unable to delete 'pub/lock': remote ref does not exist
error: failed to push some refs to 'git@github.com:johnroyer/aniTrace-fuel.git'
表示 local container 已經和 remote 資料有差異了。
這時候可以用 prune 指令,讓 git 同步 local 和 remote 的資料:
git remote prune github
執行後,若 remote 已經刪除的 branch,也不會在 git branch -a 時顯示了。