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