Git跨平台中文乱码临时解决方案
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、以上只是临时解决方案。
Git跨平台中文乱码临时解决方案的更多相关文章
- Win10命令提示符git log中文乱码的解决方案
在系统环境变量中新建一个名为LESSCHARSET的变量 其值为utf-8 新建完毕后应用,git log就不会出现乱码的问题了^_^ 参考博文:git- win10 cmd git log 中文乱码 ...
- git log 中文乱码的解决方案
设置 Git 支持 utf-8 编码在命令行下输入以下命令:$ git config --global core.quotepath false # 显示 status 编码$ git config ...
- [Git]2018-10 解决git cmd中文乱码问题
2018年10月12日 莫名其妙出现cmd下git log中文乱码问题,显示一堆<E4><A8>之类的乱码.git bash却一切正常. 怀疑是Windows系统升级出现的不兼 ...
- windows下git bash中文乱码解决办法
一.解决办法1:(直接上图) 1.在git bash下,右键 出现下图,选择options: 2.选择“Text” 3.将“Character set”设置为 UTF-8 转:windows下git ...
- Git Status 中文乱码解决
现象: jb@H39:~/doc$ git statusOn branch masterYour branch is up-to-date with 'origin/master'. Untracke ...
- 【Git】windows上git命令中文乱码的问题
windows上git命令中文乱码的问题解决 1.打开git bash快捷方式启动 2.右键 options 3.进入text选项卡,选中中文 和UTF-8 4.应用 测试[中文正常显示] 尝试打开文 ...
- 转:git windows中文 乱码问题解决汇总
it的Windows版本Msysgit对中文的支持不够好 .当使用时,会出现以下三种情况的中文乱码: 下面的几个文件都在git安装目录下文件夹etc内.1.ls不能显示中文目录 解决办法:在git/g ...
- 使用Kettle抽取数据时,出现中文乱码问题解决方案
使用Kettle在不同的数据库抽取数据时,有时会出现中文乱码问题:其解决方案如下: 1.查看数据库的字符集是否是UTF-8(最常用的字符集) 2.如果数据库设置正确仍然存在中文乱码,则可能是因为有的客 ...
- [原创]Gerrit中文乱码问题解决方案分享
应开发同事的要求,部署了Gitlab+Gerrit+Jenkins的持续集成环境. 但是发现了一个问题,Gerrit登陆后有中文乱码出现. 具体情况如下: (1)Git代码中的中文乱码处理: 为妥善解 ...
随机推荐
- HBase源代码分析
http://www.docin.com/p-647062205.html http://blog.csdn.net/luyee2010/article/category/1285622 http:/ ...
- Delphi OleVariant 类型的用法
因客户需求,对客户的指纹机与公司产品进行集成,需要对指纹机做接口的二次开发,郁闷的是产商只提供了VB和C的DEMO示例,没有Delphi的,公司没有VB,C的环境,不能打开这二种语言的示例,因为本公司 ...
- iOS 视图跳转
//跳转 - ( void)present:( id )sender { NSLog ( @"the button,is clicked …" ); // 创建准备跳转的 UIVi ...
- 解析nodejs微信开发-2获取ticket
获取ticket是需要拼接url,url中需要获得的tocken 1.先判断有无tocken:若有则拼接url: 2.请求url: a.处理回调数据,注意时间戳和签名处理方式,此两项并未存到ticke ...
- lodash的中文文档(不全)
http://dingliang-321.iteye.com/blog/2184747
- Codechef Nuclear Reactors 题解
There are K nuclear reactor chambers labelled from 0 to K-1. Particles are bombarded onto chamber 0. ...
- ZOJ 3829 Known Notation (2014牡丹江H称号)
主题链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do? problemId=5383 Known Notation Time Limit: 2 S ...
- MySQL学习笔记(3)
约束 作用:保证数据的完整性,唯一性 根据字段:分为表级约束(针对2个或者2个以上字段使用),列级约束(针对1个字段使用) 约束类型:NOT NULL 非空约束 PRIMARY KEY 主键约束 U ...
- JavaScript之JS实现动画效果
在前面的随笔中介绍了如何用DOM技术修改文档的央样式信息,用JavaScript添加样式信息可以节约我们的时间和精力,但总的来说,CSS仍是完成这类任务的最佳工具.但是有一个应用领域是目前的CSS无能 ...
- springmvc结合freemarker,非自定义标签
参考:http://viralpatel.net/blogs/spring-mvc-freemarker-ftl-example/ 上图: 目录层级: 启动后的访问地址:http://localhos ...