解决 MSYSGIT 的中文问题

自从决定从 bzr 转向 git 以来,我开始逐个地通过 Tailor 工具把我的 bzr 仓库转换成为 git 仓库。本来在 Linux 下转换得好好的,log 什么的都没有丢失,中文文件名也都没问题。但是,但是当我尝试把 Linux 下建的 git 仓库 clone 到 Windows 系统以后,git 却提示 “Invalid Argument”错误,不能检出中文文件名的文件,十分地让人恼火。

 

经过无数的 Google 以后,我发现非英语的 git 用户都遇到过了这个问题,原因据我推测应该是 Linux 上用 UTF-8 编码的中文文件名似乎 git 没有做任何处理就直接丢给了 Windows。在 msysgit 的项目主页上能够找到这个 bug 记录:http://code.google.com/p/msysgit/issues/detail?id=80,里面有无数人的抱怨,但这个 bug 优先级居然是“Priority-Low”?!

 

不过细心的话也可以在那个 bug 页面里发现问题的解决办法:有个日本人已经解决了此 bug,并编译了一个 msysgit 的安装下载:http://tmurakam.org/git/Git-1.7.0.2-utf8-20100725.exe 这个版本比官方的要稍微老一点,不过不影响使用。

 

解决了中文文件名问题,还有就是 git 的提交注释和日志在 Windows 控制台里不能正确显示中文,解决的办法是在 %USERPROFILE%\.gitconfig 文件中添加如下的设置:

[i18n]
    commitencoding = GBK
    logoutputencoding = GBK

[core]
    quotepath = false

不过这个办法有个缺点是在 bash 里的 git 又会出乱码,如果是习惯通过 bash 来使用 git 的话就去掉 GBK 那两行。

 

 

Happy Hacking!

转载于:https://www.cnblogs.com/oldrev/archive/2010/12/11/1903500.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值