📝 docs: 补上提交信息规范的自查脚本
scripts/check-commit-log.mjs 按 CONTRIBUTING.md 的类型表检查提交首行,
只报告不拦提交。它从规范文件里读 emoji 对照,所以改表不用改脚本。
同时收紧规范:emoji 由「可选」改为「必需且必须与类型一致」。原先的写法
下 ✨ docs: 这类不匹配不会被发现。
This commit is contained in:
+12
-1
@@ -12,7 +12,7 @@
|
||||
[脚注:Refs: #12 / Closes: #34 / BREAKING CHANGE: ...]
|
||||
```
|
||||
|
||||
- `<emoji>`:下面表格里该类型对应的 emoji,后面跟**一个空格**。
|
||||
- `<emoji>`:下面表格里该类型对应的 emoji,后面跟**一个空格**。emoji 是必需的,且必须与本行类型一致——`📝 docs:` 对,`✨ docs:` 不对。
|
||||
- `<type>`:小写英文关键字,见下表。
|
||||
- `(scope)`:可选,改动范围。用 `()` 包住一个简短英文标识,例如 `docs(ci)`、`fix(client)`、`feat(host)`。
|
||||
- `!`:可选,紧跟在 type 或 scope 之后、冒号之前,表示破坏性变更。
|
||||
@@ -83,6 +83,17 @@ emoji 在行首是本仓库的有意选择,视觉上整齐。代价是:以
|
||||
^(?:\p{Extended_Pictographic}\uFE0F?\s+)?(?<type>[a-z]+)(?:\((?<scope>[^)]*)\))?(?<breaking>!)?:\s(?<desc>.+)$
|
||||
```
|
||||
|
||||
## 自查
|
||||
|
||||
`scripts/check-commit-log.mjs` 会按本规范检查现有提交的首行,只报告、不拦提交:
|
||||
|
||||
```bash
|
||||
node scripts/check-commit-log.mjs # 最近 10 条
|
||||
node scripts/check-commit-log.mjs all # 全部
|
||||
```
|
||||
|
||||
它从本文件的类型表里读 emoji 对照表,所以改了表不用改脚本。规范之前的提交不符合是正常的。
|
||||
|
||||
## 启用提交模板(可选)
|
||||
|
||||
`.gitmessage` 是提交信息模板。启用后每次 `git commit` 会带上前缀提示,删掉不需要的部分即可:
|
||||
|
||||
Reference in New Issue
Block a user