对照分支与引用模式
切换模式会保留输入,可直接比较 main 与 refs/heads/main 的含义。引用名校验默认要求至少一个斜杠;允许单层引用只放宽这一条,不会放开点号、空格或非法序列。
- 单独的 @ 在分支模式通过,在引用模式无效。
Git / 版本控制
检查一个分支名、引用名或哈希,分别查看语法错误、命名建议与哈希前缀。
输入名称或哈希后开始检查。
输入仅在当前浏览器中检查,不连接仓库,也不上传文本。
每次输入一个值,最多 4,096 个 UTF-16 代码单元;诊断每批显示 50 条。
输入名称或哈希后开始检查。
Git 分支名检查适合排查终端只提示“名称无效”却没有指出位置的情况。复制进来的空格、路径段开头的点,以及看似普通的 .lock 后缀,都可能成为拒绝创建分支的原因。
先确定这段文字代表什么,再理解检查结论。main 可以是分支名,但严格引用模式要求斜杠;同样一串十六进制字符,在不同哈希算法下也可能具有不同长度含义。
Git 分支名检查保留原始输入,逐项列出出错位置。候选分支名单独显示,便于比较;不会为了给出绿色结果就悄悄删掉空格、改写大小写,或替你抹去名字中的含义。
发布说明通常只需要较短的对象标识。工具会从已有字符串中截取前缀,并说明它是完整 ID 还是缩写格式;没有仓库对象数据库,就无法判断这个前缀是否还匹配其他对象。
切换模式会保留输入,可直接比较 main 与 refs/heads/main 的含义。引用名校验默认要求至少一个斜杠;允许单层引用只放宽这一条,不会放开点号、空格或非法序列。
SHA-1 完整格式是 40 位十六进制,SHA-256 是 64 位。启用缩写后接受 4 位至完整长度减 1 的字符串;同一段 40 位文字会随所选算法改变分类。
自动检查等待 350 毫秒,关闭后显示手动检查按钮,也可按 Ctrl/Cmd + Enter。点击某条诊断可以跳到输入的对应行列。
Git 分支命名规则会额外拒绝 HEAD 和开头的连字符。引用模式可显式允许单层名称。核心检查参照 git check-ref-format 的字面名称规则,不执行命令,也不展开上一次检出记录。
报告识别 ASCII 控制字符、空格、禁用标点以及 ..、@{ 等序列。斜杠分隔的段不能以点开头或以 .lock 结尾。位置采用从 1 起算的行列,列按 UTF-16 代码单元计数,JSON 还保存精确偏移。
候选生成会将 ASCII 字母转小写,把安全字符集以外的文字替换为连字符,并再次校验结果。中文不会被音译;若没有可保留的字母数字,就回退为 branch。候选只供复制,不直接修改输入。
哈希报告记录算法、实际长度、完整或缩写类别及展示前缀。大写十六进制原样保留。这里检查的是对象 ID 的字符串格式,既不计算文件哈希,也不把一种算法的 ID 转换成另一种。
对字面分支名使用分支模式,或在自己的终端中用 git check-ref-format --branch 检查并妥善引用参数。main 和 master 并非语法禁用名;某个团队保护它们,不等于 Git 不允许它们。检查通过也不保证创建操作成功。
Git 语法允许中文等非 ASCII 字符,只要没有触犯其他规则。本页会将这类情况列为可移植性提醒,不会一概判错。若需要 ASCII 名称,请审阅单独生成的候选;它不会把中文转换成拼音。
默认命令检查引用名,要求包含斜杠;--branch 检查的是分支命名空间中的简写。请选择与输入含义一致的模式。不要为了满足斜杠要求而随意在末尾补斜杠,因为尾部斜杠同样无效。
Git 会根据仓库对象集合寻找唯一前缀,最小请求长度为 4,默认值受 core.abbrev 配置影响。本页的 7 位只是展示默认值。仓库增加对象后,原本足够的前缀也可能不再唯一。
必须查询目标仓库。例如可借助 git cat-file -e 检查相应对象表达式是否存在,是否为提交还需明确类型检查。本页只看字符串;即使 40 位全部是合法十六进制,也不能断言对应某个真实提交。
还有疑问?