解决 Git 中文路径转义问题:让中文显示更友好
在使用 Git 管理包含中文文件名或路径的项目时,经常会遇到中文被自动转义为十六进制编码(如 \344\270\255\346\226\207.txt)的问题,导致 git status、git log 等命令的输出难以阅读,影响操作效率。本文将详细介绍这一问题的成因及解决方案。
问题现象
当项目中存在中文文件名(如 测试文件.txt)或中文目录(如 文档/)时,执行 git status 会看到类似以下的转义输出:

这种转义虽然不影响 Git 的功能,但会导致开发者无法直观识别文件,给 git add 等操作带来不便。
问题成因
Git 为了兼容不同操作系统和终端的字符编码,默认会对非 ASCII 字符(包括中文)进行 URL 编码转义(使用 core.quotepath 配置项控制)。该配置项的默认值为 true,即自动转义非 ASCII 路径。
解决方案:关闭路径转义
通过修改 Git 的 core.quotepath 配置,可禁用中文路径的自动转义,让中文正常显示。
1. 全局配置(推荐)
对当前用户的所有 Git 仓库生效:
1 | git config --global core.quotepath false |
2. 局部配置(针对单个仓库)
仅对当前仓库生效(需进入仓库目录执行):
1 | git config core.quotepath false |
3. 验证效果
配置后再次执行 git status,中文路径将正常显示:
1 | $ git status |
补充:终端编码问题
如果配置后中文仍显示乱码(而非转义),可能是终端的字符编码设置问题,可按以下方式解决:
检查终端编码:确保终端使用 UTF-8 编码(大多数现代终端默认支持,如 Windows Terminal、macOS 终端、Linux 终端)。
Windows 系统特殊处理:
若使用 cmd 或 PowerShell,需确保编码为 UTF-8:
1
2# 在 cmd 中执行
chcp 65001 # 65001 对应 UTF-8 编码推荐使用 Windows Terminal(默认支持 UTF-8),避免传统 cmd 的编码问题。