【问题解决】git status中文文件名乱码

问题复现

解决办法

在git bash中直接执行如下命令

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.quotepathtrue就不再转换。

git config 命令常见配置文件有三个作用域,配置生效优先级采用就近原则,即如果当前git仓库配置了某参数就不会到当前用户目录去找同样的配置项,系统目录亦然。

  • --system 作用于整个机器所有git仓库
  • --global 作用于当前用户所有git仓库
  • --local 作用于当前git仓库
相关推荐
火车叼位13 小时前
用脚本固化 Git Squash 合并与文件排除流程
git
wunaiqiezixin15 小时前
git常用命令总结
git
Pluchon20 小时前
萌萌技术分享笔记——Java综合项目
java·开发语言·笔记·git·github·mybatis·postman
九思x21 小时前
Git脚本汇总
git
jiayong2321 小时前
git分支合并的切换逻辑详解
git
思麟呀21 小时前
Git入门
git
Ws_21 小时前
Git + Gerrit 第八课:reset 与 revert 撤销提交
git
Qres82121 小时前
hexo博客上传github page
git·github·hexo
繁星星繁1 天前
Git 入门之道:从版本流转到基础操作
大数据·git·elasticsearch
wh_xia_jun2 天前
Git 分支合并操作备忘录
git