彻底解决Git中文乱码问题
现在随着Githut和SNS的流行,Social Code也像Facebook在世界中流行一样,在程序猿中流行开来。而且有犹如星星之火,在程序猿中燎原开来。有Linus这样的大牛作为发明人,有Linux Kernel这样的庞大应用作为“小白鼠”做测试,再有Github这样开放的网络交流平台,Git想不火都难。所以,今天D瓜哥也赶赶时髦,玩转一下Git,这个版本管理工具。
Git,这个版本管理工具是美国发明的,所以对中文的原生支持性不是很好。在使用时,主要会遇到三个场景对中文的支持性比较差,严重影响用户体验。下面,D瓜哥就针对这三个使用场景进行分别的描述。
一、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,是不是看到了久违的中文呢?
二、提交中文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了,也就不能支持中文了。
三、提交文件名为中文的文件
其实,D瓜哥也不知道如何修改才能很好的支持中文。不过,这里有一个取巧的方法:一般同时修改的文件都是相关的文件。所以,在添加或者提交时,可以使用-a参数,把几个文件同时添加或提交。
在这里,D瓜哥也做个留个疑问, 如何才能让Git很好的支持提交文件名为中文的文件?
参考资料:
原文 http://www.diguage.com/archives/26.html
from: http://www.tuicool.com/articles/J7b2Mb
彻底解决Git中文乱码问题相关推荐
- 中文提交到git乱码_解决Git 中文乱码问题
乱码情景对号入座和解决方案 乱码情景1 在cygwin中,使用git add添加要提交的文件的时候,如果文件名是中文,会显示形如274\232\350\256\256\346\200\273\347\ ...
- git配置中文乱码_解决git中文乱码问题
进入git安装目录,改一下配置就可以基本解决: 1.etc\gitconfig: [gui] encoding = utf-8 [i18n] commitencoding = gbk [svn] pa ...
- 解决putty中文乱码并远程访问linux界面功能
1,解决putty中文乱码 打开putty主程序,选择window-〉Appearance-〉Font settings-〉Change...,选择汉字字体为宋体或楷体 在window-〉Appear ...
- 解决Linux中文乱码
解决Linux中文乱码 方法一: 修改/root/.bash_profile文件,增加export LANG=zh_CN.GB18030 对于其他用户,也必须相应修改该文件 使用该方法时putt ...
- elasticsearch解决控制台中文乱码问题
elasticsearch解决控制台中文乱码问题 参考文章: (1)elasticsearch解决控制台中文乱码问题 (2)https://www.cnblogs.com/chenmz1995/p/1 ...
- 解决flask中文乱码的问题
解决flask中文乱码的问题 参考文章: (1)解决flask中文乱码的问题 (2)https://www.cnblogs.com/qiumingcheng/p/11792846.html (3)ht ...
- 解决request中文乱码问题
解决request中文乱码问题 参考文章: (1)解决request中文乱码问题 (2)https://www.cnblogs.com/wangguoning/p/6151517.html 备忘一下.
- 解决python中文乱码的方法
解决python中文乱码的方法 参考文章: (1)解决python中文乱码的方法 (2)https://www.cnblogs.com/bobodeboke/p/11935876.html 备忘一下.
- zabbix 彻底解决图片中文乱码
zabbix 彻底解决图片中文乱码 环境: CentOS 7.2 zabbix-3.0.4 LTS nginx-1.10.0 php-5.6.26 mariadb-10.1.13 请参看zabbix- ...
最新文章
- 学习python的日常6
- 【转】ASP.NET验证控件详解(非空验证,比较验证,范围验证,正则表达式,自定义验证)...
- Leetcode Wildcard Matching
- Tomcat虚拟目录的配置
- linux网卡设置详解,史上最详细的Linux网卡ifcfg-eth0配置详解
- 服务器系统玩dnf,win7系统玩dnf提示正在连接服务器的解决方法
- 两边双虚线是什么意思_行星减速机生产厂家解析行星减速机双支撑与单支撑
- 【面向对象】面向对象程序设计测试题8-对象之间one-to-many关系测试题
- 在python中创建列表的最佳和/或最快方法
- eclips断点调试
- 记事本编码html乱码,记事本乱码怎么办【解决方法】
- Wake On Lan 网络唤醒 远程开机功能设置教程
- 【面试个人成长】2021年过半,社招和校招的经验之谈
- 手机做web服务器 无限流量,无限流量卡和手机随身无线wifi,你选择哪一个?
- 深造分布式 打败面试官 招式三 直捣黄龙
- 【新书推荐】【2019】基于Kronecker积波束形成的阵列处理
- 使用outlook 2007配置microsoft exchange邮箱方法步骤
- Android Studio 调试的时候出现 Access denied finding property “ro.serialno“
- 如何连接苹果电脑打印服务器
- java 路由框架_使用Spring框架和AOP实现动态路由