以下post命令在远程分支方面应该产生相同的输出,然而
git fetch
git branch -a
显示在执行时不可见的远程分支。
git ls-remote --heads origin
什么是这种行为的原因?
【说明】
(TA216441) $ git pull
Your configuration specifies to merge with the ref 'refs/heads/TA216441'
from the remote, but no such ref was fetched.
(TA216441) $ git fetch
(TA216441) $ git branch -a
* TA216441
TA216442
master
remotes/origin/HEAD -> origin/master
remotes/origin/TA212425
remotes/origin/TA216441
remotes/origin/TA219346
remotes/origin/TA220305
remotes/origin/TA223738
remotes/origin/master
(TA216441) $ git ls-remote --heads origin
hash-1 refs/heads/DE18756_2
hash-2 refs/heads/TA212425
hash-2 refs/heads/TA219346
hash-3 refs/heads/TA220305
hash-4 refs/heads/master
git branch -a
本地运行,从不联系另一个Git。git ls-remote
调用其他Git并询问其问题。请注意,如果您愿意,可以运行git fetch --prune origin
让您的Git呼叫origin
处的Git,下载任何新提交,更新您的本地副本,并 - 这是“修剪”部分 - 删除您对于他们不再拥有的分支的远程跟踪分支,即“修剪”您的origin / *
远程跟踪分支。 - torekgit config
文档 中的“prune”一词。 - torek