这是我参与「第四届青训营」笔记创作活动的第6天。
第一次接触到团队协作,所以在使用Git的时候遇到了很多问题,但是很庆幸都解决了,所以就记录一下遇到的问题吧,同时附上自己的解决方法。
VSCode分支可视化插件
在看教程学习git入门的时候,打算跟随up主的脚步一步一步来操作,但是看着看着发现他的VSCode和我的好像不太一样...
相信很多小伙伴也有同样的困惑,因为在弹幕里面看到了很多小伙伴在问,
在创建分支的时候,智能的VSCode能很直观的展示出各种提交记录、分支信息等等,如下图:
于是苦苦寻觅了好久发现是一个插件就能解决的
这里给出插件名称:GitLens — Git supercharged
直接在扩展栏中搜索,第一个应该就是,下载完成后就会发现自己的VSCode上也有这些东西了。
Git提交或者克隆时报错
报错信息
fatal: unable to access 'github.com/.../.git': Could not resolve host: github.com
OpenSSL SSL_read: Connection was reset, errno 10054
或者是这样:
fatal: unable to access 'github.com/xxx/autowri…':
Failed to connect to github.com port 443: Timed out
问题原因因为git在拉取或者提交项目时,中间会有git的http和https代理,但是我们本地环境本身就有SSL协议了,所以取消git的https代理即可,不行再取消http的代理。
解决方法 在项目文件夹的命令行窗口执行下面代码,
//取消http代理
git config --global --unset http.proxy
//取消https代理
git config --global --unset https.proxy
然后再git commit 或git clone
取消git本身的https代理,使用自己本机的代理,如果没有的话,其实默认还是用git的。
commit时报错
在VSCode将更改放到暂存区的时候弹出报错,
错误信息
husky > commit-msg hook failed (add --no-verify to bypass)
发生错误原因
提交代码的时候,pre-commit(客户端)钩子,它会在Git键入提交信息前运行做代码风格检查。如果代码不符合相应规则,则报错,而它的检测规则就是根据.git/hooks/pre-commit文件里面的相关定义。
解决办法
亲测有效的解决方法
在commit的时候将命令改为
git commit --no-verify -m “xxx”
另外两种解决方法(我没试过...)
- 卸载husky。只要把项目的package.json文件中devDependencies节点下的husky库删掉,然后重新npm i 一次即可。或者直接在项目根目录下执行npm uninstall husky --save也可以,再次提交,自动化测试功能就屏蔽掉。
- 进入项目的.git文件夹(文件夹默认隐藏,可先设置显示或者命令ls查找),再进入hooks文件夹,删除pre-commit文件,重新git commit -m ‘xxx’ git push即可
小结
这是我在使用git的时候遇到的一些小问题,还有一些疑问等找到好的解决方案的时候再发一篇。
欢迎大家批评指正,我们共同进步!