zoukankan      html  css  js  c++  java
  • 解决 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!

  • 相关阅读:
    es6的解构赋值
    防抖
    resources saver 实现资源批量下载
    flutter了解
    export, export default 和 import的使用
    5,vue过滤和高阶函数
    4,v-for循环
    3,v-if的使用
    2,v-on绑定事件和修饰符
    怎样统一管理vue项目中的大量api和异步操作
  • 原文地址:https://www.cnblogs.com/oldrev/p/1903500.html
Copyright © 2011-2022 走看看