Windows 下 Git 的中文支持

由于 Windows 下使用各地区本地的编码方案,而 Linux 下统一使用更加国际化的 Unicode 编码,中文字符在不同编码混杂时往往面临窘境。想要在 Git 中使用中文也要作一些配置。

最好的方式当然是以全英文的方式使用 Git,但如果我们需要使用中文书写提交说明或者管理中文文档,统一使用 UTF-8 的编码是较好的选择。

一、不同环境采用的编码方案

1.1 Git Bash

Git Bash 是官方的 Git for Windows 提供的在 Windows 下使用 Git 的 Linux 环境。Git Bash 在默认设置下使用本地编码,即使用 echo 输出的,和使用 cat 能够查看的编码都是 GB2312。可以更改设置来使用 UTF-8 编码,方法是右键单击标题栏,选择 Options -> Text,其中 Locale 选择 C,Character set 选择 UTF-8。此时仍有两个问题需要解决。一是 Windows 下中文文件名时使用本地编码的,所以使用 ls 查看文件名包含中文的文件时会仍出现乱码,解决的办法是使用 ls 时添加 --show-control-chars 参数,可以为此设置一个别名:

alias ls='ls -F --color=auto --show-control-chars'

二是 git log 输出时默认用 less 作分页工具,所以还要让 less 也显示 UTF-8 编码:

export LESSCHARSET=utf-8

以上两条设置在 Git Bash 关闭后似乎也会保留,保险起见,可以把它们添加到 C:\Program Files\Git\etc\profile 文件中,此处假设你使用了默认的安装路径。

在 Git Bash 中使用 Git,我们还需要对 Git 本身进行一番设置来支持 UTF-8 编码。

git config --global core.quotepath false          # 显示 status 编码
git config --global gui.encoding utf-8            # 图形界面编码
git config --global i18n.commit.encoding utf-8    # 提交说明编码
git config --global i18n.logoutputencoding utf-8  # 输出 log 编码

1.2 BashOnWindows(WSL)

BashOnWindows 是 Windows 10 后基于 WSL(Windows Subsystem of Linux)提供的一个功能,它为我们提供了一种新的、原生的在 Windows 上使用 Linux 的环境。BashOnWindows 的显示和输出都采用了 UTF-8 编码。所以只需要设置 git config --global core.quotepath false 就可以了。

1.3 图形客户端

测试了 SourceTreeGitKraken 以及 Atom 的 git-plus 插件,在它们中使用中文提交时均采用了 UTF-8 编码,均无法查看非 UTF-8 编码的文件内容。

二、总结

综上,我们应使用 UTF-8 编码来保存含有中文的文件,并设置相应工具为 Unicode 环境。BashOnWindows 和多数图形客户端自身都采用了 Unicode 编码方案,无需过多配置。但 Git Bash 需进行相应设置保证其输入输出时都使用 UTF-8。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值