使用git branch --all
显示所有远程和本地分支。什么时候git刷新这个列表?在拉/推?以及如何使用git bash
刷新它?
非常感谢你!
答案 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)