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

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

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

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

    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、以上只是临时解决方案。

  • 相关阅读:
    2.2 列表推导和生成器表达式
    1.2 如何使用特殊方法
    Selenium安装方法
    Python中Selenium的使用方法
    BeautifulSoup4的使用方法
    (转)Python中sort和sorted的区别和使用方法
    (转)Python中random模块的几个常用函数
    PR中我的常用快捷键
    二、交互式运行环境——REPL
    一、Node.js概述
  • 原文地址:https://www.cnblogs.com/zengsong-restService/p/3259999.html
Copyright © 2011-2022 走看看