彻底解决Git中文乱码问题
現(xiàn)在隨著Githut和SNS的流行,Social Code也像Facebook在世界中流行一樣,在程序猿中流行開來。而且有猶如星星之火,在程序猿中燎原開來。有Linus這樣的大牛作為發(fā)明人,有Linux Kernel這樣的龐大應(yīng)用作為“小白鼠”做測試,再有Github這樣開放的網(wǎng)絡(luò)交流平臺(tái),Git想不火都難。所以,今天D瓜哥也趕趕時(shí)髦,玩轉(zhuǎn)一下Git,這個(gè)版本管理工具。
Git,這個(gè)版本管理工具是美國發(fā)明的,所以對(duì)中文的原生支持性不是很好。在使用時(shí),主要會(huì)遇到三個(gè)場景對(duì)中文的支持性比較差,嚴(yán)重影響用戶體驗(yàn)。下面,D瓜哥就針對(duì)這三個(gè)使用場景進(jìn)行分別的描述。
一、ls -l 顯示文件列表
想想剛玩Git那會(huì),下個(gè)msysgit,瞬間裝好,信心爆棚,無視GUI(我比較喜歡Linux以及命令行),cd到某個(gè)目錄下,ls查看文件,傻眼了。MD,竟然都是亂碼,著實(shí)無語加郁悶了一把!這是該怎么辦呢?
其實(shí),很簡單。只需要修改一下配置信息就能解決問題。這里先做個(gè)假設(shè),假設(shè)你Git的安裝目錄是%GIT_HOME%。修改步驟如下:
使用文本編輯器打開文件%GIT_HOME%\etc\gitconfig,將下面顯示的三個(gè)選項(xiàng)的字符集修改成如下:
[gui]encoding = utf-8 [i18n]commitencoding = gbk [svn]pathnameencoding = gbk通過這里的設(shè)置,打開Git環(huán)境中的中文支持。另外,需要特意說明一下,雖然pathnameencoding設(shè)置了文件路徑的中文支持,但是為了防止不必要的麻煩出現(xiàn),同時(shí)也為了提高在Bash中快速的進(jìn)入某個(gè)路徑,推薦使用英文路徑,不要使用中文路徑。
然后,使用文本編輯器打開文件%GIT_HOME%\etc\git-completion.bash,然后再其中添加如下內(nèi)容:
alias ls='ls --show-control-chars --color=auto'我個(gè)人比較喜歡列表顯示文件,但是msysgit安裝后,不支持ll。所以,就自己手動(dòng)添加上支持。在上面那行配置的下面,添加下面這行配置:
alias ll='ls -l'玩Linux的人,應(yīng)該都能看出來,其實(shí)這只是Linux命令中,給命令起了一個(gè)別名而已。
最后,使用文本編輯器打開文件%GIT_HOME%\etc\profile,將下面的這個(gè)配置的字符集設(shè)置成如下:
export LESSCHARSET=utf-8 #或gbk到這里,就大功告成了。你在Bash中,試一下,ls或者ll,是不是看到了久違的中文呢?
二、提交中文Commit Log
既然使用Git,那么肯定是要文件修改后,肯定是要提交的。但是,剛剛安裝好后msysgit對(duì)Commit Log的中文支持是在是忍無可忍。沒辦法,這時(shí)還是要“自己動(dòng)手,豐衣足食”啊。
其實(shí),msysgit對(duì)中文Commit Log主要是因?yàn)槟J(rèn)的編輯器vi對(duì)中文的支持不好。所以,把默認(rèn)編輯器修改成一個(gè)對(duì)中文支持比較好的編輯器即可。對(duì)于編輯器,我比較喜歡vim(在Windows下就是gVim),下面就把默認(rèn)編輯器修改成gVim。步驟如下:
到這里,把默認(rèn)編輯器已經(jīng)修改成了gVim。另外,還需要修改一下msysgit的配置項(xiàng)。使用文本編輯器打開文件%GIT_HOME%\etc\inputrc,修改下面兩個(gè)配置項(xiàng)如下:
set output-meta on set convert-meta off我第一次在修改完這些配置后,提交修改中還是不能很好的支持地支持中文。后來發(fā)現(xiàn),主要是使用方法不對(duì)。這里,給大家提個(gè)醒,提交時(shí)應(yīng)該使用如下指令:
git commit -a注意,不要加-m的參數(shù)。否則就不能使用gVim了,也就不能支持中文了。
三、提交文件名為中文的文件
其實(shí),D瓜哥也不知道如何修改才能很好的支持中文。不過,這里有一個(gè)取巧的方法:一般同時(shí)修改的文件都是相關(guān)的文件。所以,在添加或者提交時(shí),可以使用-a參數(shù),把幾個(gè)文件同時(shí)添加或提交。
在這里,D瓜哥也做個(gè)留個(gè)疑問,?如何才能讓Git很好的支持提交文件名為中文的文件?
參考資料:
原文??http://www.diguage.com/archives/26.html
from:?http://www.tuicool.com/articles/J7b2Mb
總結(jié)
以上是生活随笔為你收集整理的彻底解决Git中文乱码问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java代码规范、格式化和checkst
- 下一篇: chrome 插件 vimium 介绍