仅有的幸福2017-05-02 09:51:50
我不知道具體是什麼原因,不過我以前也遇到過類似的情況,有幾點經驗或許可以參考一下:
不要用msys、cygwin上的git,用git官方提供的。因為cygwin這些上面的git以為是Linux環境,預設utf編碼的,而Windows用的不是utf,這樣add的時候就不會辨識成Windows從而不會給你轉碼,導致亂碼。
出現編碼問題,不要先嘗試去修改預設配置,而應該參考1
不要將不同平台的git倉庫直接複製過去。 git自己已經做了很多相容性的工作了,像是行尾。如果直接複製過去的話,git就沒辦法修改行尾,然後你git status的時候,就會發現所有的檔案都改變了。
嗯,重新用官方的git,預設的編碼配置,估計就不會有問題了。
漂亮男人2017-05-02 09:51:50
給你看我用 git bash
的配置吧,不知道哪一句的作用commitencoding
提交和保存在版本库里 log 的编码,如果你不知道保存在库实际的编码那就没办法了。logoutputencoding
应该是交给shell
时候使用的编码,如果不相同应该会进行转换。gui.encoding
似乎是设置git bash
使用的编码,这个要和logoutputencoding
,我都设置成utf-8
了。
[i18n]
commitencoding = utf-8
logoutputencoding = utf-8
[gui]
encoding = utf-8
[core]
quotepath = false
[i18n "commit"]
encoding = utf-8