我在创建包含[
字符的标记时收到错误消息:
致命:'['不是有效的标签名称。
问题:git中是否有任何标签规则?
答案 0 :(得分:81)
您可以使用
检查名称是否有效git check-ref-format
此page包含有效名称的约束。从页面引用(可能在将来过时):
它们可以包括用于分层(目录)分组的斜杠
/
,但没有斜杠分隔的组件可以以点.
开头或以序列.lock
结束。 / p>它们必须包含至少一个
/
。这会强制存在类似heads/
,tags/
等类别,但实际名称不受限制。如果使用--allow-onelevel
选项,则免除此规则。他们不能在任何地方连续两个点
..
。它们不能包含ASCII控制字符(即值小于\ 040或\ 177
DEL
的字节),空格,波浪号~
,插入符^
或在任何地方冒号:
。他们不能在任何地方添加问号
?
,星号*
或开括号[
。有关此规则的例外情况,请参阅下面的--refspec-pattern
选项。它们不能以斜杠
/
开头或结尾,也不能包含多个连续斜杠(有关此规则的例外情况,请参阅下面的--normalize
选项)它们不能以点
.
结尾。它们不能包含序列
@{
。它们不能是单个字符
@
。- 醇>
它们不能包含
\
。
如您所见,在您的情况下,您违反了规则(5)。
您可以使用--normalize
标志来标注与斜杠相关的标记(删除前导斜杠和连续斜杠):
git check-ref-format --normalize "tags/weird//tag"
您要验证tags/
的{{1}}部分物种。
在与@NikosAlexandris进行一些讨论后,您可以编写以下一个班轮来检查标签tag
并提供文字反馈:
<some-tag>