问题背景
最近使用ant-design-pro时发现git无法提交了,commit环节报如下错误:
> running commit-msg hook: fabric verify-commit
ERROR invalid commit message format.
Proper commit message format is required for automated changelog generation. Examples:
💥 feat(compiler): add 'comments' option
🐛 fix(compiler): fix some bug
📝 docs(compiler): add some docs
🌷 UI(compiler): better styles
🏰 chore(compiler): Made some changes to the scaffolding
🌐 locale(compiler): Made a small contribution to internationalization
See .github/commit-convention.md for more details.
汉语提示是这样:
解决方法
这是由于 git 的提交规范引起的,主要有以下两种解决思路:
s1:干掉规范的配置(待补充):
这个问题是因为当你在终端输入git commit -m "XXX",提交代码的时候,pre-commit(客户端)钩子,它会在Git键入提交信息前运行做代码风格检查。如果代码不符合相应规则,则报错,而它的检测规则就是根据.git/hooks/pre-commit文件里面的相关定义。查询了网上的解决办法,总结为以下三种解决方案,个人喜欢第三种:
卸载husky。只要把项目的package.json文件中devDependencies节点下的husky库删掉,然后重新npm i 一次即可。或者直接在项目根目录下执行npm uninstall husky --save也可以,再次提交,自动化测试功能就屏蔽掉
进入项目的.git文件夹(文件夹默认隐藏,可先设置显示或者命令ls查找),再进入hooks文件夹,删除pre-commit文件,重新git commit -m 'xxx' git push即可。
将git commit -m "XXX" 改为 git commit --no-verify -m "XXX"
————————————————原文链接:https://blog.csdn.net/yy_onway/article/details/98627663
以上在其他博客地址看到的方法,第一种方法,我暂时未在自己的项目中发现hooks,尝试失败;第二种方法尝试失败;第三种方法可行。以后查到怎么找到这个规范在哪配置修改再来补充。
s2:按照规范来提交代码
其实按照规范来提交代码可以大大增加提交时的可读性,git commit 提交规范的语法为 :
git commit -m "feat: 你的内容"每个规范的含义上图已经给出,可以根据不同的情况来提交。
feat: 新功能(feature)
fix: 修补bug
docs: 文档(documentation)
style: 格式(不影响代码运行的变动)
refactor: 重构(即不是新增功能,也不是修改bug的代码变动)
chore: 构建过程或辅助工具的变动
revert: 撤销,版本回退
perf: 性能优化
test:测试
improvement: 改进
build: 打包
ci: 持续集成