关于commitlint提交不支持中文的探讨
来源:2-13 lint-staged 自动修复格式错误
Fiora0
2022-01-20
我跟到这里发现,他的提交检测解析流程其实是:
git cz生成.git/COMMIT_EDITMSG文件,里面有本次提交的commit内容:
之后会调用如图一所示的函数来解析成如下图所示的结构:
这里如果是Feature(/):初始化项目这样的文本,那他就能被正确解析,如下所示:
但是我跟到这里就发现,我不知道sync这个函数他在哪被覆盖了,所以,此处有几点解决方案:
- 重写个解析函数
- 找到覆盖的函数,修改他
- 放弃中文
但是考虑到团队中英语水平参差不齐,再加上只是内部提交,所以中文还是有必要的,因此还是想解决这个问题。
请老师指教
更新:
打印了一下后面那个opts,发现他的Header使用正则来解析的…那理论上来说,配置那个正则就可以解决问题…
正则内容:^(\w*)(?:((.)))?!?: (.)$
修改如下:
打印结果如下:
尝试提交结果如下:
可以看到提交了两次都是没问题的…(为什么两次呢,因为第一次提交的时候不知道为什么单双引号没修正…)
错误提交截图:
至于为什么就一项没填却出来两项,我猜是正则没匹配到,他应该不是返回子串而是整个返回的…
不过我这里有个问题,正则中的?!?是啥意思啊,查不到呢,希望老师能解惑
写回答
1回答
-
Sunday
2022-01-21
首先得给你点赞了 👍👍
至于正则的话,你可以通过这个网站照一下:https://regexper.com/#
112022-01-24
相似问题