创建包含[
字符的标记时出现错误消息:
致命:'['不是有效的标签名称。
问题:git中的标签有任何规则吗?
您可以使用以下命令检查名称是否有效
git check-ref-format
此页面包含对有效名称的约束。从页面引用(将来可能已过时):
它们可以包含
/
用于斜线(目录)分组的斜杠,但是斜杠分隔的组件不能以点开头.
或以序列结尾.lock
。它们必须至少包含一个
/
。这会强制出现诸如等等的类别heads/
,tags/
但实际名称不受限制。如果使用该--allow-onelevel
选项,则该规则将被放弃。它们
..
在任何地方都不能有两个连续的点。它们不能在任何地方具有ASCII控制字符(即,其值小于\ 040或\ 177的字节
DEL
),空格,代字号~
,插入符^
或冒号:
。他们在任何地方都不能有问号
?
,星号*
或方括号[
。请参阅以下--refspec-pattern
选项,以了解此规则的例外情况。它们不能以斜杠开头或结尾,也不能
/
包含多个连续的斜杠(有关--normalize
此规则的例外,请参阅下面的选项)它们不能以点结尾
.
。它们不能包含序列
@{
。它们不能是单个字符
@
。它们不能包含
\
。
如您所见,您违反了规则(5)。
您可以使用该--normalize
标志针对斜杠标准化标签(删除前导斜杠和连续斜杠):
git check-ref-format --normalize "tags/weird//tag"
tags/
您要验证的零件种类tag
。
与@NikosAlexandris进行讨论后,您可以编写以下一个衬纸来检查<some-tag>
带有文本反馈的标签:
git check-ref-format "tags/<some-tag>" && echo "Valid tag" || echo "Invalid tag"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句