我有多个git存储库,都是utf-8编码并正确显示变音符号。我希望它们组合成一个单独的仓库(每个原始仓库都是新仓库中的一个分支)。我的系统配置为使用utf-8作为默认的git编码。 我执行以下步骤:
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获取更改编码以及为什么它在新的repo中没有正确显示,因为它也是utf-8?
我附上了一个示例,说明我如何获取远程repo并且提交消息在提交哈希保持不变时更改: Git Bash Screenshot
答案 0 :(得分:1)
首先,我尝试通过执行chcp 65001
来更改Windows命令行的代码页。由于这不起作用,我试图为不支持unicode的程序设置os语言到utf-8但是也没有用。
经过长时间的搜索,我发现问题出现在源存储库中,git config --list
显示,i18n.commitencoding
设置为某些Windows编码。将它切换到utf-8之后,现在一切都很完美。