记录一个git问题,比较有意思,也比较难找。
背景
首先把代码拉下来,发现给我报错。
怀疑
刚开始以为是仓库地址变了,但是发现仓库地址并没有变过。
交流
然后寻找解决方案。因为同事也遇到过,同事交了我一招,采用派生方法。确实生成了新的链接,能把代码推上去,这时候,相当于把这个库的代码,都copy到了派生库里面,相当于开了一个库进行存储。
疑问
然后昨天,负责人问我代码提交了嘛,怎么没见你提交,然后我提交了,然后看到代码都是提交到了派生那边去了。但是我们要保持代码都在同一个仓库。我拉其它仓库的代码都没问题,但是拉这个仓库的代码老是报错。只能拉派生库的代码,就挺纳闷的,它们的区别就是一个有中文,一个是全英文的仓库命名。开始排查是不是中文编译的问题。
寻找办法
1.检查你的Git配置:在命令行中输入 git config --get core.quotepath。如果返回的是 true,那么Git会将非ASCII文件路径引用在双引号中,这可能会导致问题。你可以通过输入 git config --global core.quotepath false 来关闭这个设置。
2.检查你的系统编码设置:在Windows中,你可以通过在命令行中输入 chcp 来查看你的系统编码。如果返回的不是 65001(即UTF-8),你可以通过输入 chcp 65001 来更改编码。
那就从转译设置。
尝试1:
忽略转义字符
git config --global core.protectNTFS false
# 禁用换行符转换git config --global core.autocrlf false# 中文文件名,乱码问题。设为false的话,就不会对0x80以上的字符进行quotgit config --global core.quotepath false
发现设置了还是不行,难道是系统环境编译中文问题嘛
尝试2:还是不行。
我跟同事都在苦恼:
思考还跟什么有关
除了跟环境,中文编译有关,关键除了我们两个,其它都没问题。还有git配置不同,查看自己的配置跟同事的配置,发现是不太一样,但是这个版本不一样是版本导致的。
我的:
同事的:
下降版本就可以解决
git版本下载
最后成功拉取。
总结
应该是git 最新版本中文转译有问题吧,当然只是猜测,暂时没得时间去研究。