【问题解决】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仓库
相关推荐
idaibin2 小时前
"Git 多仓库用户身份自动切换与隐私保护指南
git·github
小何好运暴富开心幸福2 小时前
C++之日期类的实现
开发语言·c++·git·bash
im_AMBER4 小时前
Web 开发 24
前端·笔记·git·学习
银安4 小时前
Git篇(4):分支(Branch)与引用(Reference)
git
~央千澈~5 小时前
宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡
git
无言以对,沉默不语,随你随你。6 小时前
【解决办法】GitBash不能在任意文件夹打开
经验分享·笔记·git
stark张宇7 小时前
告别Git恐惧症!一套课程搞定Win/Mac/Linux三端配置与核心原理
git·架构·github
鸽鸽程序猿8 小时前
【Git】 远程操作 与 标签管理
git
银安10 小时前
Git篇(2):文件的三个区域——工作区、暂存区与本地仓库
git
银安10 小时前
Git篇(1):Git初识与学习顺序
git