如何删除远程git分支“正常”,又名更新所有用户的远程分支列表?

我试图删除一个远程的git分支,但是这个过程并不像我所期望的那样“完全”删除分支。

比方说,我正在删除一个名为mybranch的分支。 为此,我运行以下命令,

 git push origin :mybranch 

这就像预期的那样删除了分支,如果我做了git branch -a它不再在本地或远程出现在列表中。

我遇到的问题是,如果我去另一个人的机器谁做了分支存在的git branch -a ,他们执行git branch -a ,它仍然在他们的列表作为远程分支。

我们尝试了多个命令, pullgcprune ,但没有任何更新这个列表并删除远程分支。

是否有一个命令同步(我只能假设是)远程分支机构列表的本地caching,并删除任何不存在的远程分支?

在他们更新遥控器之前,他们的git将不知道存储库上发生了什么。 一旦他们完成更新(通过git fetchgit remote update ), git remote show origin将正确显示他们有上游不再存在的分支的本地跟踪分支。 在这一点上,可以使用git remote prune删除陈旧的本地分支。

移除遥控器上不存在的任何远程追踪分支。

 git fetch -p