距离上次更新本文已经过去了 668 天,文章部分内容可能已经过时,请注意甄别

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

起因

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

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

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

问题

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

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

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

查阅 git status 命令文档可知:

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

解决

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

plaintext
1
git config --global core.quotePath false

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

一切回归正常。

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

更多

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

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

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