閱讀174 返回首頁    go 阿裏雲 go 技術社區[雲棲]


msysGit 各種中文問題的解決

原文:https://blog.sina.com.cn/s/blog_60aa9ccd0100l92j.html


需要的配置:

1、C:\Program Files\Git\etc\git-completion.bash:
alias ls='ls --show-control-chars --color=auto'

說明:使得在 Git Bash 中輸入 ls 命令,可以正常顯示中文文件名。

2、C:\Program Files\Git\etc\inputrc:
set output-meta on
set convert-meta off

說明:使得在 Git Bash 中可以正常輸入中文,比如中文的 commit log。

3、C:\Program Files\Git\etc\profile:
export LESSCHARSET=utf-8

說明:$ git log 命令不像其它 vcs 一樣,n 條 log 從頭滾到底,它會恰當地停在第一頁,按 space 鍵再往後翻頁。這是通過將 log 送給 less 處理實現的。以上即是設置 less 的字符編碼,使得 $ git log 可以正常顯示中文。其實,它的值不一定要設置為 utf-8,比如 latin1 也可以……。還有個辦法是 $ git –no-pager log,在選項裏禁止分頁,則無需設置上麵的選項。

4、C:\Program Files\Git\etc\gitconfig:
[gui]
encoding = utf-8

說明:我們的代碼庫是統一用的 utf-8,這樣設置可以在 git gui 中正常顯示代碼中的中文。

[i18n]
commitencoding = GB2312

說明:如果沒有這一條,雖然我們在本地用 $ git log 看自己的中文修訂沒問題,但,一、我們的 log 推到服務器後會變成亂碼;二、別人在 Linux 下推的中文 log 我們 pull 過來之後看起來也是亂碼。這是因為,我們的 commit log 會被先存放在項目的 .git/COMMIT_EDITMSG 文件中;在中文 Windows 裏,新建文件用的是 GB2312 的編碼;但是 Git 不知道,當成默認的 utf-8 的送出去了,所以就亂碼了。有了這條之後,Git 會先將其轉換成 utf-8,再發出去,於是就沒問題了。

可以設置git默認為其它編輯器:
$ git config --global core.editor "notepad"

其中 notepad 可以替換為更好用的 wordpad、notepad++ 等(不過它們在命令行裏無法直接訪問,得先設置 PATH 變量)。

最後更新:2017-04-02 06:51:53

  上一篇:go Linux Epoll介紹和程序實例
  下一篇:go 利用Android 2.2新特性完成縮略圖