git status输出的文件路径的中文乱码问题

Posted lengye7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git status输出的文件路径的中文乱码问题相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

查阅git status命令文档可知:

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

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

git config --global core.quotePath false

再次执行git status:

一切回归正常。

然后git add python添加所有修改过的文件:

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

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

以上是关于git status输出的文件路径的中文乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

git解决git status 时中文乱码问题

Windows下Git Status的乱码问题解决方案

git status 下中文显示乱码问题解决

如何归档 git status 输出?

“git submodule status”没有看到子模块

git log 中文乱码问题(浪费了一天)