错误信息肯定很奇怪。
命令本身有点奇怪,但应该不会产生那个错误。在这里,它被分成几部分,以及每个部分的含义:
git
当然是调用 Git。
--no-optional-locks
防止 Git 在运行git status 等只读命令时使用锁。 (用户几乎不应该使用这个标志。)由于你使用的命令不是只读的——创建标签确实需要创建锁——这个标志在这里没有真正的功能。
(多个-c选项,省略)
这些会使用命令行设置覆盖每个-c <em>variable=value</em> 设置的任何已配置git config 设置。这里使用的没有一个有用,但也没有一个是有害的,因为git tag 本身不使用任何这些。
tag
调用 Git 的 tag 子命令,用于标签读取或标签设置。
-a
指示 Git 创建一个 带注释的标签,它是一个带有消息的标签。
-m RC123
这提供了消息。 RC123 似乎是一条奇怪的消息。似乎您想要一些其他消息,并使用 RC123 作为 标签 名称,但由于 -m 使用下一个单词作为消息,RC123 成为消息。
3eaa22c1103ae52413ff8db0f31552ff277171c5
这是新标签的名称。它与哈希 ID 非常相似,因此用作实际标签会很糟糕。
由于没有提供 hash ID,新标签 3eaa22c1103ae52413ff8db0f31552ff277171c5 将附加到的提交是当前 (HEAD) 提交。如果您运行 git rev-parse HEAD,您将看到新标签 3eaa22c1103ae52413ff8db0f31552ff277171c5 将识别的哈希 ID。
但是,我不断收到以下错误:fatal: unknown field name: 5.6
根据某些--format 指令,这是您使用git for-each-ref 或git tag 命令获得的那种东西,该命令是列出 标记。它不应该由您显示的git tag -a -m RC123 <em>tag-name</em> 命令生成。
我应该怎么做才能重新获得创建标签的能力?
从命令行(bash、zsh、DOS/Windows CLI 等),您应该仍然能够创建标签。如果您使用的是一些复杂的 GUI,可能需要以某种方式重新配置它。
重新克隆存储库会有所帮助吗?
在 Git 方面并没有什么根本上的错误。重新克隆是否可能对某些第三方 GUI 有所帮助,谁知道呢?也许用 GUI 标记问题可能会有所帮助(例如,如果它是 atlassian-sourcetree,则使用该标记)。