'git ls-remote'的输出显示'git tag -l'中找不到的标签

时间:2011-10-11 20:35:43

标签: git svn tags branch git-svn

我正在按照Pro Git的指导将SVN存储库转换为Git存储库(在此处找到:http://progit.org/book/ch8-2.html)。

在推送到我新创建的遥控器后,我从遥控器上做了一个克隆。新克隆没有关于我的标签的任何信息。然后我从原版中做了一个'git push --tags'。但是,当在克隆中进行“git pull”时,只有少数标签会关闭。

从克隆内部,'git ls-remote'显示我的所有标签(和分支)。为清晰起见,我删除了哈希:

HEAD
refs/heads/STABLE-1.0
refs/heads/UNSTABLE-1.0
refs/heads/master
refs/tags/RELEASE-0.4
refs/tags/RELEASE-0.9
refs/tags/RELEASE-1.0
refs/tags/STABLE-1.0
refs/tags/UNSTABLE-1.0

但是,执行'git tag -l'只会显示:

RELEASE-1.0
UNSTABLE-1.0

远程分支似乎跟踪正常。只有神器我注意到有orignal git-svn repo还有本地和远程分支。这应该没关系,因为我将在克隆中工作,一旦我确认所有数据都已迁移,git-svn repo就可以退役了。

那么为什么远程和本地标签不匹配?

1 个答案:

答案 0 :(得分:2)

尝试git fetch --tags - 来自git-fetch文档:

  

大多数标签在下载分支头时自动获取,但是这些机制不会获取不指向从被跟踪的分支头可到达的对象的标签。该标志允许下载所有标签及其相关对象。