如何删除远程git分支“正常”,又名更新所有用户的远程分支列表?
我试图删除一个远程的git分支,但是这个过程并不像我所期望的那样“完全”删除分支。
比方说,我正在删除一个名为mybranch
的分支。 为此,我运行以下命令,
git push origin :mybranch
这就像预期的那样删除了分支,如果我做了git branch -a
它不再在本地或远程出现在列表中。
我遇到的问题是,如果我去另一个人的机器谁做了分支存在的git branch -a
,他们执行git branch -a
,它仍然在他们的列表作为远程分支。
我们尝试了多个命令, pull
, gc
, prune
,但没有任何更新这个列表并删除远程分支。
是否有一个命令同步(我只能假设是)远程分支机构列表的本地caching,并删除任何不存在的远程分支?
在他们更新遥控器之前,他们的git将不知道存储库上发生了什么。 一旦他们完成更新(通过git fetch
或git remote update
), git remote show origin
将正确显示他们有上游不再存在的分支的本地跟踪分支。 在这一点上,可以使用git remote prune
删除陈旧的本地分支。
移除遥控器上不存在的任何远程追踪分支。
git fetch -p