在接触了Git版本控制之后,很长一段时间里就只使用commit、pull、push这三个命令,并没有进行深究。而早上在用commit代码提交前端代码的时候出现了报错信息husky > pre-commit,于是开始查找背后的原因,最后通过阅读相关资料成功解决。
一、问题复现
我是通过IDEA编辑器中的Git工具进行提交代码,以往都是在勾选上需要提交的文件后,并输入提交描述,点击commit就提交成功了。但是早上在新的代码环境中,点击commit突然报错:
密密麻麻一大串的报红信息让人猝不及防,由于之前都是很顺利的commit,我也没见过这阵势。乍一看还以为跟前端代码有关系,因为错误提示中提到了node以及npm等字样。
二、解决过程
一对比同事那边是相同的代码,照样能顺利的提交到版本库中,所以排除了代码问题。
虽然看着这么多报错信息,秉持着报错只看最前面的几行的理念,我将报错信息定位在第三行:
husky > pre-commit (node v12.13.0)
关键词是husky > pre-commit,百度了一番之后,发现了问题所在,确实是本地项目中的.git下的一个文件导致的提交失败,这个文件是pre-commit文件。找到项目中的.git文件夹(需要显示隐藏文件才会出现),双击进入就能看到关于git的一些文件
显示隐藏文件:
进入hooks文件夹,并找到pre-commit文件,这就是commit失败的根源所在了。
该文件所起到的作用是:
pre-commit(客户端)钩子,它会在Git键入提交信息前运行做代码风格检查。
如果代码不符合相应规则,则报错。
解决:我们将该文件删除之后,再进行commit,发现就能成功提交了。
三、总结
对于Git的应用倒是熟练了,由于不懂原理所以在遇到问题的时候还是需要进行查阅资料,这也算是一种学习的过程,碰到问题,解决问题,并归纳总结。