我正在尝试将(我也遇到与 fetch 相同的问题)拉到远程分支上的特定标签。我正在尝试运行:
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
这适用于我的任务,但我真的很想更多地了解为什么这种方法有效而其他方法无效。如果有人能提供一个很棒的解释。