讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux怎么配置Git显示中文路径 Linux下Git中文乱码解决详解

阿明吖_5764

阿明吖_5764

发布时间:2026-04-27 06:04:27

|

692人浏览过

|

来源于php中文网

原创

根本原因是core.quotepath默认为true,Git将UTF-8中文字符转义为八进制序列;执行git config --global core.quotepath false可直出中文名,但需终端编码匹配UTF-8且字体支持。

linux怎么配置git显示中文路径 linux下git中文乱码解决详解

git status 显示中文路径为八进制转义(如 \346\200\241)

这是最常见现象,本质是 Git 默认对非 ASCII 字符做 quote 处理,把 UTF-8 字节序列原样转成反斜杠+八进制形式输出。它不表示文件名损坏,只是“看起来乱”。

直接执行:git config --global core.quotepath false 即可关闭该行为。此后 git status、git ls-files、git diff 等命令会直出原始字节——但前提是终端能正确解码这些字节。

  • Linux 终端一般默认 UTF-8,设完即生效;若 locale 输出不含 UTF-8(比如显示 POSIX 或空),需先配置系统 locale(见下一条)
  • 别在 tmux/screen 里改完就以为好了,它们可能继承旧环境变量,建议新开终端或运行 source ~/.bashrc
  • 如果仓库已存在大量乱码路径记录(比如之前用 quote 模式 commit 过),core.quotepath=false 只影响后续输出,历史 log 仍需单独处理

终端本身不支持 UTF-8 或 locale 未启用中文

core.quotepath=false 是必要条件,但不是充分条件。很多用户卡在这一步:Git 配对了,终端却还是显示方块或问号。

先检查当前环境:locale 命令输出中,LANG 和 LC_CTYPE 必须包含 zh_CN.UTF-8 或 en_US.UTF-8 类似值。若为空或为 POSIX,说明系统级 UTF-8 支持未激活。

  • 运行 locale -a | grep zh_CN.UTF-8 查看是否已生成该 locale;没有则需 sudo locale-gen zh_CN.UTF-8 + sudo update-locale LANG=zh_CN.UTF-8
  • 用户级临时修复:在 ~/.bashrc 或 ~/.zshrc 末尾加 export LANG=zh_CN.UTF-8 和 export LC_ALL=zh_CN.UTF-8,再 source 一次
  • GNOME/KDE 终端需确认字体设置含中文字体(如 Noto Sans CJK SC),且菜单中「字符编码」明确选为 UTF-8

git log 提交信息或作者名中文乱码

core.quotepath 不管 log 内容,它只管文件路径。log 乱码是另一套编码链断裂所致:commit 时存的编码 ≠ log 输出时用的解码器 ≠ 分页器(less)渲染时的字符集。

Git Factory
Git Factory

为每个编码任务配置并管理独立的 Git worktree,支持并行分支和清晰的 PR 工作流,避免合并冲突。

下载

三步配齐:

  • git config --global i18n.commitencoding utf-8:告诉 Git “我写 commit message 用的是 UTF-8”,避免它误猜成 GBK
  • git config --global i18n.logoutputencoding utf-8:强制 log 输出走 UTF-8 编码(Git 2.31+ 中该选项渐进废弃,但 Linux 上仍建议保留)
  • export LESSCHARSET=utf-8 加入 shell 配置:让分页器 less 正确渲染 UTF-8 字节,否则即使 Git 输出对了,less 也会按默认编码错解

注意:i18n.logoutputencoding 在较新 Git 中可能被忽略,若无效,可尝试 export GIT_PAGER="less -r" 作为补充。

SSH 远程操作时中文路径突然变乱码

本地终端正常,但通过 SSH 连到服务器后 git status 又出现八进制转义,大概率是 SSH 会话没传 locale 环境变量过去。

检查远程服务器的 /etc/ssh/sshd_config 是否含 AcceptEnv LANG LC_*;再看本地 ~/.ssh/config 对应 Host 是否有 SendEnv LANG LC_*。两者缺一不可。

  • 改完服务端配置需重启 sshd:sudo systemctl restart sshd
  • 某些旧版 OpenSSH 客户端默认不发 locale,可临时测试:LANG=zh_CN.UTF-8 ssh user@host
  • 如果服务器上 locale 本身就不含 UTF-8,光传变量也没用,得先在服务端生成并启用对应 locale

真正容易被忽略的,是终端模拟器字体和 SSH 环境变量这两层——Git 配置调得再准,字体不支持或 locale 传不过去,照样显示为方块。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

相关专题

更多
自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

6119

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

1780

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

1054

2023.07.24

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3977

2024.04.09

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3721

2024.04.09

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

4010

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3433

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2613

2023.06.30

Linux 新手先学哪些命令
Linux 新手先学哪些命令

Linux新手命令专题汇集终端基础、文件目录操作、文本查看、软件安装和权限管理等入门文章,帮助按实际任务练习常用命令并建立命令行操作习惯。

0

2026.10.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn