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

拉/推?我如何使用GitBash刷新它?


我相信,如果您运行gitbranch——所有这些都来自Bash,那么您看到的远程和本地分支列表将反映您运行命令时本地git“知道”的内容。由于您的Git始终是系统中本地分支的最新信息,因此本地分支的列表将始终准确。

然而,对于远程分支,情况不一定如此。您的本地Git只知道在上一次获取(或拉取)中看到的远程分支。因此,您可能会运行gitbranch,但没有看到在上次提取或提取后出现的新的远程分支。

为了确保本地和远程分支列表是最新的,您可以在运行gitbranch-all之前执行git获取。

要了解更多信息,在运行gitbranch时出现的“远程”分支--所有这些都不是真正的远程分支;它们实际上是本地的。例如,假设在远程调用的功能上有一个分支,您至少将其拉入本地Git一次。当您运行gitbranch-all时,您将看到origin/feature作为一个分支列出。但这个分支实际上是一个本地Git分支。当您执行gitfetchorigin时,这个跟踪分支会根据远程的任何新更改进行更新。这就是为什么您的本地状态可能会过时,因为可能有新的远程分支,或者您的跟踪分支可能会过时。


要更新远程分支的本地列表,请执行以下操作:

git remote update origin --prune

要显示(本地)Git知道的所有本地和远程分支,请执行以下操作:

git branch -a

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


如果您正在使用Eclipse,

打开“Git存储库”查找存储库。打开“分支”,然后打开“远程跟踪”。

他们都应该在里面。右键单击并“签出”


OP没有要求清理所有远程,而是要求清理默认远程的所有分支。

因此,应该使用gitfetch--prune。

将git-configremote.origin.prine设置为true会使--prune自动。在这种情况下,git fetch也会从本地副本中删除过时的远程分支。另请参阅使用Git获取或拉取自动修剪。

请注意,这不会清理不再跟踪远程分支的本地分支。请参阅如何删除远程上不再存在的本地跟踪分支。