解决windows下命令行中git status中文乱码问题

起因

在项目下输入git status之后,出现如下情况:

在线搜索了一下,发现是git添加了如下特性:

git参考文档:https://git-scm.com/docs/git-config

问题

根据上面的文档得知,git对超过0x80的字符都会以八进制输出,由于中文以UTF-8保存,所以上面的文件路径输出了一堆的八进制转义代码,这对用户极其不友好。

文档给出的方案是-z,通过-z选项的确可以输出正确的中文,但是却缺少了详细信息:

所有的输出全在一行,对用户也不好友。

查阅git status命令文档可知:

该选项会以NUL为一行的几位,但是终端不能识别NUL结尾,所以终端不会自动换行

解决

那么最终的解决办法:关闭这个特性。

1
git config --global core.quotePath false

再次执行git status,就没有中文的乱码了:

一切回归正常。

然后git add python添加所有修改过的文件,此时也不会有中文的乱码

更多

默认情况下,git会将入库的文件的行尾符替换为LF,这是因为git原生的工作环境是linux/unix,而我目前工作环境是windows,所以这个也挺正常的。当下次在windows下检出分支的时候,会自动将LF替换为CRLF

这个警告并不会带来什么问题,完全可以忽略。

1
2
版权声明:本文为CSDN博主「lengye7」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lengye7/article/details/129208899