什么时候git刷新远程分支列表?

时间:2016-04-01 13:58:41

标签: git github branch remote-branch

使用git branch --all显示所有远程本地分支。什么时候git刷新这个列表?在拉/推?以及如何使用git bash刷新它?

非常感谢你!

6 个答案:

答案 0 :(得分:826)

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

git branch -a

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

git remote update origin --prune

答案 1 :(得分:22)

我相信,如果你从bash运行git branch --all,你看到的远程和本地分支列表将反映你当地的Git"知道"当你运行命令时。由于您的Git始终与系统中的本地分支保持同步,因此本地分支列表始终准确无误。但是,对于远程分支,不一定是这种情况。你的本地Git只知道它在最后一次获取(或拉取)中看到的远程分支。因此,您可能会运行git branch --all会看到上次取出或拉出后出现的新远程分支。

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

有关详细信息,请使用"遥控器"运行git branch --all时出现的分支根本不是远程的,它们实际上是本地的。例如,假设遥控器上有一个名为feature的分支,您至少已将其拉​​到本地Git中一次。当您运行origin/feature时,您会看到git branch --all被列为分支。但是这个分支实际上是一个本地 Git分支。执行git fetch origin后,此跟踪分支将更新来自远程的任何新更改。这就是为什么您的本地州可能会变得陈旧,因为可能有新的远程分支,或者您的跟踪分支可能变得陈旧。

答案 2 :(得分:8)

OP并未要求清除所有远程,而是要求清除默认远程的所有分支。

因此应该使用git fetch --prune

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

请注意,这不会清除不再跟踪远程分支的本地分支。参见https://stackoverflow.com/a/54484443/869951

答案 3 :(得分:1)

使用git fetch获取所有最新创建的分支。

答案 4 :(得分:0)

如果您正在使用Eclipse,并且想从上游查看新分支;

在Git透视图中,右键单击git存储库,然后选择“从上游获取”。这将获取新的远程分支。

答案 5 :(得分:-3)

如果您使用的是Eclipse,

  1. 打开" Git存储库"
  2. 找到您的存储库。
  3. 打开"分支"然后"远程跟踪"。
  4. Git

    他们都应该在那里。右键单击"结帐。"