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