Git找不到标记或提交哈希的远程引用

时间:2013-02-01 15:58:17

标签: git

我试图将远程分支上的特定标记拉(我也遇到同样的问题)。我想跑:

 git pull origin v0.0.2.1

其中v0.0.2.1是我的标签的名称。我收到此错误消息:

fatal: Couldn't find remote ref v0.0.2.1
fatal: The remote end hung up unexpectedly

如果我将“v0.0.2.1”替换为该标记的哈希值或标记引用的提交哈希值,则会收到相同的错误消息。

我已经检查过遥控器确实有这个标签和这个提交(实际上我可以在具有此存储库的不同机器上成功运行上述命令)。我检查了这两台机器上的.git / config文件是否相同。

以下内容仍有效:

 git pull origin HEAD

另外,我用了

git ls-remote origin

我得到以下(除其他外):

016d51475640e738b24cce2fb4019649ed81fa6b    refs/tags/v0.0.2.1

有谁知道发生了什么事?

我找到了解决方法: 以下作品:

 git pull origin refs/tags/v0.0.2.1

这适用于我的任务,但我真的想了解更多关于它为何起作用而另一种方法不起作用的原因。如果有人能提供令人敬畏的解释。

1 个答案:

答案 0 :(得分:0)

在阅读git版本1.7.0到1.7.9的changelogs时,我们可以找到几个可能导致解释的条目。在远程端进行ref-lookups的方式已经改变(加快速度)。

这可以解释为什么版本1.7.0需要refs/tags/<tagname>来获取而1.7.10不需要。