1
我有多個git存儲庫,都是UTF-8編碼,並正確顯示元音變音。我希望他們被合併成一個單一的回購協議(每個原始回購協議都是新的單一分支)。我的系統被配置爲使用utf-8作爲默認的git編碼。 我做以下步驟:git fetch變化德語變音符號
git init test (initializes as utf-8)
cd test
git remote add test_remote C:/temp/remote_repo
git fetch --all
git checkout -b test_local test_remote/master
在那之後,我在當地的分支機構test_local所有提交的遠程分支主。我的問題是,德語變音符號沒有正確顯示,但git log爲ü提供了類似的功能。
我的問題是,爲什麼git fetch改變編碼,爲什麼它沒有正確顯示在新的回購,因爲它也是utf-8?
我附的如何獲取遠程回購和提交信息的變化,而在提交散列的示例保持相同: Git Bash Screenshot
Git一般*根本不*觸及你的任何數據:它都只是原始字節串。任何編碼解釋都取決於其他軟件,例如查看提取文件的編輯器或查看提交的尋呼機。但是有一些令人討厭的角落案例,一些操作系統堅持要搞亂路徑名稱。因此,指定您的操作系統和字符出現位置非常重要:提交元數據(如日誌消息),文件元數據(如文件名)或存儲在存儲庫中的文件數據。 – torek
我使用的是Windows 10,沒有編輯器而只是使用git命令行。錯誤編碼僅出現在提交消息中,所有其他數據和元數據都可以看到。如果我在原始回購庫中使用git show,它會正確顯示變音符號,如果我在取回的回購庫中使用相同的命令,則會有神祕的標誌。 – MxNbrt
我不使用Windows,所以我不能真正幫助,但它確實是某種設置,Windows以某種方式不理解。提交消息中的原始數據字面*不能被更改,永遠不會改變提交散列,因此它不再是相同的提交。更熟悉Windows 10的人可能會指出問題所在。 – torek