文档章节

git windows乱码解决方案

jeffsui
 jeffsui
发布于 2015/06/26 09:15
字数 1218
阅读 30
收藏 0

现在随着Githut和SNS的流行,Social Code也像Facebook在世界中流行一样,在程序猿中流行开来。而且有犹如星星之火,在程序猿中燎原开来。有Linus这样的大牛作为发明人,有Linux Kernel这样的庞大应用作为“小白鼠”做测试,再有Github这样开放的网络交流平台,Git想不火都难。所以,今天D瓜哥也赶赶时髦,玩转一下Git,这个版本管理工具。

  Git,这个版本管理工具是美国发明的,所以对中文的原生支持性不是很好。在使用时,主要会遇到三个场景对中文的支持性比较差,严重影响用户体验。下面,D瓜哥就针对这三个使用场景进行分别的描述。另外,特别说明一下,我平时工作、学习最主要的系统是Windows 7。Git使用的是msysgit。所以,以下的解决方案是针对Windows系统的解决方案。

##1. ls -l 显示文件列表

  想想刚玩Git那会,下个msysgit,瞬间装好,信心爆棚,无视GUI(我比较喜欢Linux以及命令行),cd到某个目录下,ls查看文件,傻眼了。MD,竟然都是乱码,着实无语加郁闷了一把!这是该怎么办呢?

  其实,很简单。只需要修改一下配置信息就能解决问题。这里先做个假设,假设你Git的安装目录是%GIT_HOME%。修改步骤如下:

  使用文本编辑器打开文件%GIT_HOME%\etc\gitconfig,将下面显示的三个选项的字符集修改成如下:

[gui]

     encoding = utf-8

[i18n]

     commitencoding = gbk

[svn]

     pathnameencoding = gbk

  通过这里的设置,打开Git环境中的中文支持。另外,需要特意说明一下,虽然pathnameencoding设置了文件路径的中文支持,但是为了防止不必要的麻烦出现,同时也为了提高在Bash中快速的进入某个路径,推荐使用英文路径,不要使用中文路径。

  然后,使用文本编辑器打开文件%GIT_HOME%\etc\git-completion.bash,然后再其中添加如下内容:

alias ls='ls --show-control-chars --color=auto'   我个人比较喜欢列表显示文件,但是msysgit安装后,不支持ll。所以,就自己手动添加上支持。在上面那行配置的下面,添加下面这行配置:

alias ll='ls -l'   玩Linux的人,应该都能看出来,其实这只是Linux命令中,给命令起了一个别名而已。

  最后,使用文本编辑器打开文件%GIT_HOME%\etc\profile,将下面的这个配置的字符集设置成如下:

export LESSCHARSET=utf-8 #或gbk

  到这里,就大功告成了。你在Bash中,试一下,ls或者ll,是不是看到了久违的中文呢?

#2. 提交中文Commit Log

  既然使用Git,那么肯定是要文件修改后,肯定是要提交的。但是,刚刚安装好后msysgit对Commit Log的中文支持是在是忍无可忍。没办法,这时还是要“自己动手,丰衣足食”啊。

  其实,msysgit对中文Commit Log主要是因为默认的编辑器vi对中文的支持不好。所以,把默认编辑器修改成一个对中文支持比较好的编辑器即可。对于编辑器,我比较喜欢vim(在Windows下就是gVim),下面就把默认编辑器修改成gVim。步骤如下:

打开目录GIT_HOME%\bin\; 找到vi或者vim文件(注意:没有后缀。),复制一份出来命名gvim; ,使用文本编辑器打开gvim,把里面的exec /share/vim/vim73/gvim 改成自己的Gvim目录,D瓜哥的是exec /C/Vim/vim73/gvim 运行msysgit Bash,执行命令git config –global core.editor gvim   到这里,把默认编辑器已经修改成了gVim。另外,还需要修改一下msysgit的配置项。使用文本编辑器打开文件%GIT_HOME%\etc\inputrc,修改下面两个配置项如下:

set output-meta on

set convert-meta off

  我第一次在修改完这些配置后,提交修改中还是不能很好的支持地支持中文。后来发现,主要是使用方法不对。这里,给大家提个醒,提交时应该使用如下指令:

git commit -a   注意,不要加-m的参数。否则就不能使用gVim了,也就不能支持中文了。

##3. 提交文件名为中文的文件

  其实,D瓜哥也不知道如何修改才能很好的支持中文。不过,这里有一个取巧的方法:一般同时修改的文件都是相关的文件。所以,在添加或者提交时,可以使用-a参数,把几个文件同时添加或提交。

本文转载自:http://www.diguage.com/archives/26.html

jeffsui

jeffsui

粉丝 294
博文 267
码字总数 73964
作品 0
大连
QA/测试工程师
私信 提问
解决git在Windows下的乱码问题--解决代码从git 拉下来之后中文乱码的问题

Contents 1. 设置 Git 支持 utf-8 编码 2. 让 ls 命令可以显示中文名称 在Linux及托管网站上默认的编码都是utf-8,而Windows系统默认编码不是采用utf-8,所以Git 客户端在Windows下总是会有一...

Oscarfff
2016/08/22
280
0
Windows 下 msysgit 中文配置

一、 概述 1. 参考文章 《git乱码解决方案汇总》 《另类方法解决Windows下git-bash中文输入的乱码问题》 2. 相关软件 Git for Windows msysgit:msysgit是Git 版本控制系统在 Windows 下的版...

千一
2013/08/09
2.6K
3
Git跨平台中文乱码临时解决方案

Git 是一个非常优秀的分布式版本控制系统,最初为Linux Kernel版本管理进行量身定做。优点是,和其他版本控制系统相比,稳定,速度快,跨平台,易学易用,无需要花费成本。更多优点请点击阅读...

怪蜀黍
2012/04/16
2.3K
4
msysgit 中文乱码问题解决方法

msysgit安装好后处理中文是有问题的:ls中文目录/文件名乱码;提交中文的log,push到服务器上会乱码;git log查看服务器pull过来的log乱码。 1、ls命令列出的中文目录/文件名正确显示解决方法...

lieefu
2015/07/01
139
0
git for window 下 git commit 乱码解决方法

git for window下在提交的时候无法输入中文,输入中文后,直接是乱码的情况。。。于是就折腾一番。。 各种没有解决的方案。。。 自己动脑: 1.在cmd下输入中文,通过。 将git的路径添加到环境...

Ryan-瑞恩
2014/01/09
632
0

没有更多内容

加载失败,请刷新页面

加载更多

64.监控平台介绍 安装zabbix 忘记admin密码

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍: 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、ope...

oschina130111
今天
13
0
当餐饮遇上大数据,嗯真香!

之前去开了一场会,主题是「餐饮领袖新零售峰会」。认真听完了餐饮前辈和新秀们的分享,觉得获益匪浅,把脑子里的核心纪要整理了一下,今天和大家做一个简单的分享,欢迎感兴趣的小伙伴一起交...

数澜科技
今天
7
0
DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN

本文作者:PETER LAI ,是 Diode 的区块链工程师。在进入软件开发领域之前,他主要是在做工商管理相关工作。Peter Lai 也是一位活跃的开源贡献者。目前,他正在与 Diode 团队一起开发基于区块...

红薯
今天
12
0
CC攻击带来的危害我们该如何防御?

随着网络的发展带给我们很多的便利,但是同时也带给我们一些网站安全问题,网络攻击就是常见的网站安全问题。其中作为站长最常见的就是CC攻击,CC攻击是网络攻击方式的一种,是一种比较常见的...

云漫网络Ruan
今天
12
0
实验分析性专业硕士提纲撰写要点

为什么您需要研究论文的提纲? 首先当您进行研究时,您需要聚集许多信息和想法,研究论文提纲可以较好地组织你的想法, 了解您研究资料的流畅度和程度。确保你写作时不会错过任何重要资料以此...

论文辅导员
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部