【问题解决】git status中文文件名乱码
问题复现
解决办法
在git bash中直接执行如下命令
git config --global core.quotepath false
原因
通过 git config --help
可以查看到以下内容:
core.quotePath
Commands that output paths (e.g. ls-files, diff), will quote "unusual" characters in the pathname by enclosing the pathname in double-quotes and escaping those characters with backslashes in the same way C escapes control characters (e.g. \t for TAB, \n for LF, \ for backslash) or bytes with values larger than 0x80 (e.g. octal \302\265 for "micro" in UTF-8). If this variable is set to false, bytes higher than 0x80 are not considered "unusual" any more. Double-quotes, backslash and control characters are always escaped regardless of the setting of this variable. A simple space character is not considered "unusual". Many commands can output pathnames completely verbatim using the -z option. The default value is true.
简单看就是默认core.quotepath
值为true
,git认为这些字符不寻常会将非英文的部分转换成8进制字符。设置core.quotepath
为true
就不再转换。
git config
命令常见配置文件有三个作用域,配置生效优先级采用就近原则,即如果当前git仓库配置了某参数就不会到当前用户目录去找同样的配置项,系统目录亦然。
--system
作用于整个机器所有git仓库--global
作用于当前用户所有git仓库--local
作用于当前git仓库
本文作者:东北小狐狸
本文链接:https://www.cnblogs.com/hellxz/p/18358618
版权声明:本作品采用自由转载-非商用-非衍生-保持署名 (CC BY-NC-ND 3.0)许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2020-08-14 【备忘】下载Oracle 8u202及之前的商用免付费版本JDK
2017-08-14 jdbc、Mybatis插入数据主键回显的实现方法