首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Git何时刷新远程分支列表?

Git何时刷新远程分支列表?
EN

Stack Overflow用户
提问于 2016-04-01 21:58:41
回答 4查看 431.6K关注 0票数 685

使用git branch --all可显示所有远程和本地分支。Git何时刷新此列表?

拉动/推送?如何使用Git Bash刷新它?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-04-01 22:09:04

要更新远程分支的本地列表:

代码语言:javascript
复制
git remote update origin --prune

显示( local ) Git知道的所有本地和远程分支

代码语言:javascript
复制
git branch -a
票数 1.6K
EN

Stack Overflow用户

发布于 2019-01-22 23:24:05

OP并未要求清理所有远程数据库,而是要求清理默认远程数据库的所有分支。

所以应该使用git fetch --prune

设置git config remote.origin.prune true会使--prune自动。在这种情况下,git fetch还将从本地副本中删除陈旧的远程分支。另请参见。

请注意,这不会清理不再跟踪远程分支的本地分支。请参阅了解这一点。

票数 43
EN

Stack Overflow用户

发布于 2016-04-01 22:08:25

我相信如果你从Bash运行git branch --all,你看到的远程和本地分支的列表将反映你在运行命令时你的本地Git“知道”什么。因为您的Git关于系统中的本地分支始终是最新的,所以本地分支的列表将始终是准确的。

但是,对于远程分支,情况并非如此。您的本地Git只知道它在最后一次fetch (或pull)中看到的远程分支。因此,您可能会运行git branch --all,但看不到在上次获取或拉取之后出现的新远程分支。

要确保本地和远程分支列表是最新的,可以在运行git branch --all之前执行git fetch

关于更多信息,在运行git branch --all时出现的“远程”分支根本不是真正的远程分支;它们实际上是本地分支。例如,假设远程服务器上有一个名为feature的分支,您至少将其放入本地Git中一次。当您运行git branch --all时,您将看到origin/feature作为分支列出。但是这个分支实际上是一个本地的Git分支。当您执行git fetch origin时,此跟踪分支将使用来自远程的任何新更改进行更新。这就是为什么您的本地状态会变得陈旧,因为可能会有新的远程分支,或者您的跟踪分支可能会变得陈旧。

票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36358265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档