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

这对我的任务有用,但我真的很想更多地了解为什么这有效而另一种方法不起作用。如果有人能提供解释,那就太棒了。

在阅读git版本的 1.7.0 到 1.7.9 的更新日志时,我们可以找到几个可能导致解释的条目。在远程端完成引用查找的方式已经改变(以加快速度)。

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

最新更新