哪些名称是有效的git标签?

vu8f3i0k  于 2023-04-28  发布在  Git
关注(0)|答案(3)|浏览(134)

我在创建包含[字符的标记时收到错误消息:
fatal:“[”不是有效的标记名称。
问:git中的标签有什么规则吗?

wh6knrhe

wh6knrhe1#

您可以使用检查名称是否有效

git check-ref-format

page包含对有效名称的约束。引用自页面(可能在将来过时):
1.它们可以包含斜线/用于分层(目录)分组,但斜线分隔的组件不能以点.开始或以序列.lock结束。
1.它们必须至少包含一个/。这强制了heads/tags/等类别的存在。但实际名称不受限制。如果使用--allow-onelevel选项,则放弃此规则。
1.它们不能在任何地方有两个连续的点..
1.它们不能有ASCII控制字符(即例如,值小于\040或\177 DEL的字节)、空格、波浪号~、插入符号^或冒号:
1.它们不能有问号?、星号*或左括号[。请参阅下面的--refspec-pattern选项以了解此规则的例外情况。
1.它们不能以斜杠/开始或结束,也不能包含多个连续的斜杠(有关此规则的例外,请参阅下面的--normalize选项)
1.它们不能以点.结尾。
1.它们不能包含序列@{
1.它们不能是单个字符@
1.它们不能包含\
正如你所看到的,在你的情况下,你违反了规则(5)。
您可以使用--normalize标志来规范化标签中的斜杠(删除前导斜杠以及连续斜杠):

git check-ref-format --normalize "tags/weird//tag"

要验证tagtags/部件种类。
在与@NikosAlexandris进行了一些讨论之后,您可以编写以下一行代码来检查标记<some-tag>并提供文本反馈:

git check-ref-format "tags/<some-tag>" && echo "Valid tag" || echo "Invalid tag"
c3frrgcw

c3frrgcw2#

不允许的字符:'~','^',':',','?','[','*',
最好禁用以下:'\r','\n',' '(空白)
不允许的序列“。.”和“@{”
该符号/序列具有重新解析的特殊含义。
资料来源: www.example.com
附加信息:https://git-scm.com/docs/git-check-ref-format

cgfeq70w

cgfeq70w3#

对我来说,它是看不见的新行字符在我的标签,这是给我的问题。

相关问题