Git跨平台中文乱码临时解决方案

转载 2015年07月08日 09:36:39

原文地址:http://blog.csdn.net/snowdream86/article/details/6891319

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

缺点也有点明显,那就是由于该版本控制系统专门为Linux 内核定制,没有开发其他平台的版本,因此,在其他平台上使用的都是Git的移植版本。在Windows上使用Git,通常是msysGit 和 TortoiseGit 进行组合使用。在Windows系统下Git的使用过程中,我们发现,如果出现以下情况之一,可能出现乱码:

1、Log提交时使用中文注释

2、目录或者文件名含有中文

3、代码中含有中文注释

这些问题在跨平台使用的时候极为明显,给跨平台代码管理带来极大的不便。本人也是深受其害,希望官方能够早日开发跨平台的版本,解决掉乱码问题。

经过本人实践,总结了一套临时解决方案,暂时能够解决以上乱码问题。具体操作如下:

注:由于Linux上通常使用utf-8进行编码,因此,项目管理中统一使用utf-8进行编码。

一、下载并安装msysGit和TortoiseGit

msysGit :http://utf8-git-on-windows.googlecode.com/files/Git-1.7.3.2-utf8-20110213.exe

TortoiseGit:http://utf8-git-on-windows.googlecode.com/files/TortoiseGit-1.6.3.2-UTF8-32bit-20110127.msi

二、在Git\etc\git-completion.bash文件中添加:
alias ls='ls --show-control-chars --color=auto'
作用:使得在 Git Bash 中输入 ls 命令,可以正常显示中文文件名。

三、修改Git\etc\inputrc文件中的两项配置:
set output-meta on
set convert-meta off

作用:使得在 Git Bash 中可以正常输入中文,比如中文的 commit log。
四、在Git\etc\profile文件中添加:

export LESSCHARSET= utf-8
作用:$ git log命令不像其它vcs一样,n条log从头滚到底,它会恰当地停在第一页,按space键再往后翻页。这是通过将log送给less处理实现的。以上即是设置less的字符编码,使得$ git log可以正常显示中文。其实,它的值不一定要设置为 utf-8,比如latin1也可以……。还有个办法是$ git --no-pager log,在选项里禁止分页,则无需设置上面的选项。

五、在C:Gitetcgitconfig文件中修改或添加如下配置:
[core]
quotepath = false

作用:没有这一条,$git status输出中文会显示为UNICODE编码。


注:1、不管是在Windows还是在Linux下,请使用utf-8进行编码,而不是GBK或者其他。

在Eclipse下的编码设置请参考: 《Eclipse中设置编码的方式

2、在进行版本管理时,尽量使用TortoiseGit和Git GUI,而不建议使用Git Bash。

3、以上只是临时解决方案。


参考文章:

1、msysGit的配置及中文支持  http://blog.sina.com.cn/s/blog_6a5e34ad0100w23u.html

2、msysGit 中文环境配置及跨平台开发注意事项 http://baifa.me/2010/10/msysgit.html

3、Git 系列之二:Windows 下 Git 客户端的选择,及 msysGit 各种中文问题的解决-转载  http://www.cnblogs.com/baizx/archive/2010/08/09/1796120.html

4、 Git 中文乱码问题  http://kongjian.baidu.com.cn/kazaff/blog/item/6a8384114cac7969cb80c42d.html

5、解决Msysgit的中文乱码问题 http://surpass-li.iteye.com/blog/679989

git 设置

1.使用 git add 命令添加文件名含中文字符的文件时 乱码类似: view source print? 1 \316\304\261\276\316\304\265\265.t...
  • kl222
  • kl222
  • 2014年06月21日 08:43
  • 7112

git乱码解决方案汇总

http://zengrong.net/post/1249.htm 乱码情景对号入座和解决方案 乱码情景1 在cygwin中,使用git add添加要提交的文件的时候,如果文件名是中文,...
  • yunnywu
  • yunnywu
  • 2016年01月21日 11:12
  • 5823

在git中出现中文乱码的解决方案

偶然遇到了这个问题,在网上找了一些答案,没有全部试过,但是这一条命令 git config --global core.quotepath false 成功解决了我的问题,下面是转载内容,原文出处为:...
  • Tyro_java
  • Tyro_java
  • 2016年12月02日 21:46
  • 8437

git 中文乱码问题解决方案

问题场景:在工程中添加了一个中文文档,git status 时显示乱码 new file: "doc/\347\254\254\344\270\211\346\226\271\350\264\24...
  • pdskyzcc1
  • pdskyzcc1
  • 2016年12月20日 15:43
  • 794

Git跨平台中文乱码临时解决方案

转自  http://blog.csdn.net/yang_hui1986527/article/details/6891319 Git 是一个非常优秀的分布式版本控制系统,最初...
  • fuhao715
  • fuhao715
  • 2011年11月11日 09:29
  • 3306

git乱码解决方案汇总

我一直是在cygwin下使用git,辅以TortoiseGit。使用上没什么问题,但今天在处理一个有中文文件名的项目时却出现文件名乱码的问题。 情况是这样的: 在一个使用cygwin的...
  • feosun
  • feosun
  • 2012年10月09日 10:35
  • 1537

三分钟教你学Git (七) 之 跨平台协作

最常见的就是Linux和Win换行符的不同,在Linux下换行符是\n,但在Win下换行符是\r\n。也就是说所有的Linux下的文件如果直接拷贝到Win上,则所有的行都变成了一行;Win下的文件到L...
  • hongchangfirst
  • hongchangfirst
  • 2015年04月09日 17:17
  • 1695

git windows中文 乱码问题解决汇总

it的Windows版本Msysgit对中文的支持不够好 。 当使用时,会出现以下三种情况的中文乱码:  下面的几个文件都在git安装目录下文件夹etc内。 1.ls不能显示中文目录  解决办...
  • saishangxue123
  • saishangxue123
  • 2014年02月28日 13:03
  • 1849

linux系统,使用vi和less查看文本出现中文乱码,使用cat正常

找到一种不乱码的临时解决方法. 在网上查中文乱码,往往是设置服务器.但是在工作中,往往只需要查看日志等,不需要也没有权限去修改服务器: 一般用cat查看没乱码的,用more查看也不会出现乱...
  • lisheng19870305
  • lisheng19870305
  • 2016年12月21日 13:01
  • 3258

解决tableexport导出到excel中有关中文乱码的问题

tableexport中将table中的内容导出到excel,但如果table包含中文的话,导出的就是乱码,需要修改tableexport.js,修改后的tableexport.js如下,使用时,只需...
  • u011900448
  • u011900448
  • 2016年01月26日 11:13
  • 8889
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Git跨平台中文乱码临时解决方案
举报原因:
原因补充:

(最多只允许输入30个字)