【问题解决】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仓库
相关推荐
君穆南6 小时前
基于 NFS 与 Rsync 实现跨服务器 Seafile 数据平滑迁移实战
linux·运维·git
Jurio.7 小时前
本机开发 + 多机执行的极简远端运行工具
linux·git·python·github·远程工作
阿巴~阿巴~8 小时前
Git版本控制完全指南:从入门到实战(简单版)
linux·服务器·git
遇满则缺8 小时前
新手第一次使用gitee全流程(附上常见错误以及解决方法)
git·gitee
SKILL·NULL10 小时前
如何为GIT设置全局勾子,为每次提交追加信息
git
不做超级小白15 小时前
开源项目二开为何推荐使用 `git clone --depth 1`?
git·开源
星晨雪海19 小时前
Idea中使用Git详细教程
git
丶党玲儿20 小时前
AI-agent工程化(开源git分享)
人工智能·git·开源
笑虾20 小时前
Git 学习笔记 - 合并
git
明月夜&20 小时前
Ubuntu 20.04 Docker 部署 Ollama + DeepSeek-Coder:本地 AI 编程助手实战
git·vscode·ubuntu·docker·大语言模型·智能体