Git的中文支持

jopen 9年前發布 | 79K 次閱讀 Git 版本控制系統

Git的本地化做得并不完善,命令的輸出及命令的幫助還只能輸出英文。目前中文用戶最關心的問題是:是否可以在提交說明中使用中文?是否可以使用中文文件名或目錄名?是否可以使用中文來命名分支或里程碑?簡單地說,可以在提交說明中使用中文,但是需要對Git進行設置。至于用中文來命名文件,目錄和引用,只有在使用UTF-8字符集的環境下(Linux,Mac OS X,Windows下的Cygwin)才可以,否則應盡量避免使用。

1. UTF-8字符集

Linux平臺的中文用戶一般會使用UTF-8字符集,Git在UTF-8字符集下可以工作得非常好:

  • 在提交時,可以在提交說明中輸入中文

  • 顯示提交歷史,能夠正常顯示提交說明中的中文字符

  • 可以添加名稱為中文的文件,并可以在同樣使用UTF-8字符集的Linux環境中克隆和檢出

  • 可以創建帶有中文字符的里程碑名稱

但是,在默認設置下,中文文件名在工作區狀態輸出,查看歷史更改概要,以及在補丁文件中,文件名的中文不能正確地顯示,而是顯示為八進制的字符編碼,示例如下:

$ git status -s
?? "\350\257\264\346\230\216.txt\n
$ printf "\350\257\264\346\230\216.txt\n"
說明.txt

通過將Git配置變量 core.quotepath 設置為false,就可以解決中文文件名稱在這些Git命令輸出中的顯示問題,示例:

$ git config --global core.quotepath false
$ git status -s
?? 說明.txt

2. GBK字符集

如果Linux平臺采用非UTF-8的字符集,例如用 zh_CN.GBK字符集編碼,就要另外再做些工作了。

  • 將顯示提交說明所使用的字符集設置為gbk,這樣使用 git  log 查看提交說明時才能夠正確顯示其中的中文:

$ git config --global i18n.logOutputEncodiing gbk

  • 設置錄入提交說明時所使用的字符集,以便在commit對象中正確標注字符集。Git在提交時并不會對提交說明進行從GBK字符集到UTF-8的轉換,但是可以在提交說明中標所使用的字符集,因此在非UTF-8字符集的平臺中錄入中文時需要用下面的指令設置錄入提交說明的字符集,以便在commit對象中嵌入正確的編碼說明。

$ git config --global i18n.commitEncoding gbk

來自:http://my.oschina.net/fhd/blog/354715

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!