当我做git获取原点和原点有一个删除的分支,它似乎没有更新它在我的存储库。当我执行git branch -r时,它仍然显示origin/DELETED_BRANCH。

我该如何解决这个问题?


当前回答

这对我很管用。

git remote update --prune

其他回答

这对我很管用。

git remote update --prune

对于git和Apple git更新于版本2。X这对我来说很管用:

git remote prune origin

您需要完成以下操作

git fetch -p

-p或——prune参数将更新远程分支的本地数据库。

从http://www.gitguys.com/topics/adding-and-removing-remote-branches/

当有人从远程存储库中删除一个分支后,git将不会删除 操作时自动删除本地存储库分支 不拉不取。但是,如果用户想拥有全部 跟踪从本地存储库中删除的分支 在远程存储库中删除,他们可以输入: Git远程删除源文件

注意,git fetch -p的-p参数实际上表示“修剪”。 无论您选择哪种方式,都将从本地存储库中删除不存在的远程分支。

您需要完成以下操作

git fetch -p

为了同步你的分支列表。git手册说

- p,修剪 获取后,删除远程上不再存在的任何远程跟踪引用。如果仅仅因为默认的标记自动跟踪或由于——Tags选项而获取标记,则不受修剪的影响。但是,如果由于显式的refspec(在命令行上或在远程配置中,例如如果远程是用——mirror选项克隆的)而获取标记,那么它们也会受到修剪。

我个人喜欢使用git fetch origin -p——progress,因为它显示了一个进度指示器。