Wil*_*sem 86
您可以检查名称是否有效
git check-ref-format
Run Code Online (Sandbox Code Playgroud)
此页面包含有效名称的约束.从页面引用(可能在将来过时):
它们可以包括
/用于分层(目录)分组的斜杠,但是没有斜杠分隔的组件可以以点.或结束序列开头.lock.它们必须包含至少一个
/.这强制存在类似的类别等heads/,tags/但实际名称不受限制.如果使用该--allow-onelevel选项,则放弃此规则.他们不能在
..任何地方连续两个点.它们不能具有ASCII控制字符(即值小于\ 040或\ 177的字节
DEL),空格,波浪号~,插入符号^或冒号:.它们不能在任何地方都有问号
?,星号*或开括号[.有关--refspec-pattern此规则的例外情况,请参阅下面的选项.它们不能以斜杠开头或结尾,也不能
/包含多个连续斜杠(有关--normalize此规则的例外情况,请参阅下面的选项)它们不能以点结尾
..它们不能包含序列
@{.他们不能是单一的角色
@.他们不能包含
\.
如您所见,在您的情况下,您违反了规则(5).
您可以使用该--normalize标志来标记与斜杠相关的标记(删除前导斜杠以及连续斜杠):
git check-ref-format --normalize "tags/weird//tag"
Run Code Online (Sandbox Code Playgroud)
tags/您正在验证的部分物种tag.
在与@NikosAlexandris进行一些讨论之后,您可以编写以下一个衬垫来检查<some-tag>带有文本反馈的标签:
git check-ref-format "tags/<some-tag>" && echo "Valid tag" || echo "Invalid tag"
Run Code Online (Sandbox Code Playgroud)