用git pull从远程获取所有标签
我目前有一个像下面这样的git远程设置:
[remote "upstream"] url = <redacted> fetch = +refs/heads/*:refs/remotes/upstream/*  当我在分支主机上发出git pull时,所有远程主机都被取回到远程/上游,然后远程/上游/主机被合并到主机中。 任何可以到达的标签也可以同时获取,非常方便。 
 我希望git pull能够从远程获取所有标签,而不仅仅是那些可以直接从头部到达的标签。 我最初尝试tagopt == --tags ,但发现这导致只有标签被抓取,从而打破了一切。  (Junio甚至说这是一个可怕的错误configuration )。 
 有没有办法使git pull取所有远程标签默认情况下,除了远程头? 
你应该能够通过为你的本地configuration添加标签的refspec来实现这一点。 具体来说:
 [remote "upstream"] url = <redacted> fetch = +refs/heads/*:refs/remotes/upstream/* fetch = +refs/tags/*:refs/tags/* 
 一个简单的git fetch --tags为我工作。 
  --force选项对于刷新本地标签非常有用。 主要是如果你有浮动标签: 
 git fetch --tags --force 
  git pull选项也有--force选项,描述也是一样的: 
当git fetch与:refspec一起使用时,它拒绝更新本地分支,除非它获取的远程分支是一个后裔。 该选项将覆盖该检查。
 但根据--no-tags的文档: 
默认情况下,指向从远程存储库下载的对象的标签将在本地获取并存储。
如果该默认语句不是一个限制,那么你也可以尝试
 git pull --force 
这很简单。 做一个
git fetch –all