Git使用中遇到的一些问题 | 青训营笔记

146 阅读3分钟

这是我参与「第四届青训营」笔记创作活动的第6天。

720f18d6207ab236153edbe189877e91.png

第一次接触到团队协作,所以在使用Git的时候遇到了很多问题,但是很庆幸都解决了,所以就记录一下遇到的问题吧,同时附上自己的解决方法。

VSCode分支可视化插件

在看教程学习git入门的时候,打算跟随up主的脚步一步一步来操作,但是看着看着发现他的VSCode和我的好像不太一样...

相信很多小伙伴也有同样的困惑,因为在弹幕里面看到了很多小伙伴在问,

在创建分支的时候,智能的VSCode能很直观的展示出各种提交记录、分支信息等等,如下图:

屏幕截图 2022-08-20 201256.png

于是苦苦寻觅了好久发现是一个插件就能解决的

这里给出插件名称:GitLens — Git supercharged

屏幕截图 2022-08-20 201537.png

直接在扩展栏中搜索,第一个应该就是,下载完成后就会发现自己的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 commitgit 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”

另外两种解决方法(我没试过...)

  1. 卸载husky。只要把项目的package.json文件中devDependencies节点下的husky库删掉,然后重新npm i 一次即可。或者直接在项目根目录下执行npm uninstall husky --save也可以,再次提交,自动化测试功能就屏蔽掉。
  2. 进入项目的.git文件夹(文件夹默认隐藏,可先设置显示或者命令ls查找),再进入hooks文件夹,删除pre-commit文件,重新git commit -m ‘xxx’ git push即可

小结

这是我在使用git的时候遇到的一些小问题,还有一些疑问等找到好的解决方案的时候再发一篇。

欢迎大家批评指正,我们共同进步!