У меня есть несколько репозиториев git, которые все utf-8 закодированы и отображают умлауты правильно. Я хочу, чтобы они были объединены в одно репо (каждое оригинальное репо - это единственная ветвь в новой). Моя система настроена на использование utf-8 в качестве кодировки git по умолчанию. я выполнить следующие шаги:git fetch changes german umlauts
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
Я использую окна 10 и работаю без редактора, но только в командной строке git. Фальшивая кодировка появляется только в сообщении фиксации, все остальные данные и метаданные являются точными, насколько я могу видеть. Если я использую git show в исходном репо, он правильно отображает умлауты, если я использую ту же команду в извлеченном репо, в ней есть загадочные знаки. – MxNbrt
Я не использую Windows, поэтому я не могу помочь, но это, безусловно, некоторые настройки, которые Windows почему-то не понимают. Необработанные данные в сообщении commit буквально * не могут быть изменены * когда-либо: это изменило бы хеш фиксации, так что это уже не то же самое. Кто-то, более знакомый с Windows 10, вероятно, может определить проблему. – torek