【问题解决】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仓库
相关推荐
tianming20194 小时前
Gogs迁移到Gitea不完全指南
git·后端
QT 小鲜肉6 小时前
【Git、GitHub、Gitee】GitLab的概念、注册流程、远程仓库操作以及高级功能详解(超详细)
git·qt·gitee·gitlab·github
你的人类朋友14 小时前
✍️记录自己的git分支管理实践
前端·git·后端
wVelpro17 小时前
git diff 输出空,但 git status 提示 Motified(M)解决办法
git
high201117 小时前
【Git】-- Rebase 减少 Commit 次数指南
大数据·git·elasticsearch
曾帅16817 小时前
git报错解决
git
Murphy_lx17 小时前
团队开发者git仓库工作手册
git·团队开发
FnTop18 小时前
实用教程:打造支持参数配置的 Git Bash 文件清理脚本
开发语言·git·bash
逛逛GitHub1 天前
GitHub 上的 3 个 AI 信息差利器,太绝了啊。
git·github
dnpao1 天前
告别密码和防火墙——将 Git 仓库从 HTTPS 切换到 SSH 连接
git·https·ssh