搜尋

首頁  >  問答  >  主體

搞了一下午,要死了。 git log亂碼問題,求解T T

裡面的方法都試過,百度谷歌都翻遍了。 https://my.oschina.net/lujian...

怪我咯怪我咯2878 天前628

全部回覆(2)我來回復

  • 仅有的幸福

    仅有的幸福2017-05-02 09:51:50

    我不知道具體是什麼原因,不過我以前也遇到過類似的情況,有幾點經驗或許可以參考一下:

    1. 不要用msys、cygwin上的git,用git官方提供的。因為cygwin這些上面的git以為是Linux環境,預設utf編碼的,而Windows用的不是utf,這樣add的時候就不會辨識成Windows從而不會給你轉碼,導致亂碼。

    2. 出現編碼問題,不要先嘗試去修改預設配置,而應該參考1

    3. 不要將不同平台的git倉庫直接複製過去。 git自己已經做了很多相容性的工作了,像是行尾。如果直接複製過去的話,git就沒辦法修改行尾,然後你git status的時候,就會發現所有的檔案都改變了。

    嗯,重新用官方的git,預設的編碼配置,估計就不會有問題了。

    回覆
    0
  • 漂亮男人

    漂亮男人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

    回覆
    0
  • 取消回覆