git标签:致命错误:无法将“HEAD”解析为有效的引用

17

我正在用Python脚本从仓库中克隆单个分支并创建标签。命令如下。

git clone -b master --single-branch <repository adress>

git tag -a testag -m 'test'

克隆成功,但在添加标签时出现以下错误导致中断:

fatal: Failed to resolve 'HEAD' as a valid ref.

1
在克隆之后,git status 会显示什么? - FlyingFoX

在主分支上

没有要提交的内容,工作目录干净
- Ahmad
克隆后,cat .git/HEAD 会输出什么? - FlyingFoX
分支引用:refs/heads/master - Ahmad
cat .git/refs/heads/master 应该返回一个提交的 sha1。你能检查一下这个提交是否存在吗? - FlyingFoX
5个回答

26
我遇到了同样的问题,并且通过更改从中解决了它。
git tag -a testtag -m 'test'

为了

git tag -a testtag -m "test"

我在运行Windows 7操作系统。 希望这能帮到你 :-)


1
在W10上使用Cmder,这是实际有用的。 - Jens Habegger

25

我曾有同样的问题。在标记之前,您必须先提交(commit)。

git commit

因为您在提交时加了标签,所以当没有提交时(例如您的情况),您无法创建标签。


8

在我创建标签(tag)的过程中,由于以下命令缺少 -m 参数,我也遇到了 git tag: fatal: Failed to resolve 'HEAD' as a valid ref 的问题。

git tag -a testtag 'test'

更改为

git tag -a testtag -m 'test'

问题已经解决。


5

我遇到了同样的问题。从裸仓库克隆后,我尝试在克隆的仓库中使用 'git tag' 命令,结果出现了错误。为了解决这个问题,我必须至少将一个推送提交到主分支(master)上,然后才能开始打标签。希望这可以帮助到您。


3

如果您可以访问远程代码库

cd /path/to/remote/repository
git config --bool core.bare true

备注:该命令用于将远程代码库设置为裸仓库。

2
那具体是做什么的? - Francis Davey
根据此页面http://bitflop.com/document/111Git中的“裸”存储库仅包含版本控制信息,没有工作文件(没有树),也不包含特殊的.git子目录。相反,它直接包含了.git子目录的所有内容在主目录本身中。 - raffi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接