Изменить: git не вписывается в кодировку символов. Это все еще здесь, чтобы делиться знаниями и избегать других, совершающих ту же самую ошибку.
Контекст: мое предприятие использует репозиторий svn. Я использую git -svn в качестве клиента для взаимодействия с этим репозиторием. Все текстовые файлы в проекте (и должны быть) закодированы с использованием кодировки по умолчанию Windows (cp -....). Я использую git -extensions, а иногда и командную строку для пилота git.
Что я сделал. За последние 3 дня я работал над новой функцией, и я сделал ряд локальных коммитов. Наконец, я передал все эти коммиты в один, используя интерактивную rebase, затем я использовал git svn dcommit, чтобы выталкивать все в репозиторий svn за один коммит.
Что случилось тогда: коллеж сказал мне, что все акценты были испорчены в файлах, которые я изменил, и в новых файлах после моего фиксации. Я уже совершил текстовые файлы с акцентами в том же репозитории с моей установкой git + svn раньше, и это первый раз, когда я сталкиваюсь с этой проблемой.
Мое расследование. Я исследовал следующие вещи: открыл файлы с помощью блокнота ++ и попробовал самые последние кодировки (включая окна по умолчанию и UTF-8), чтобы просмотреть их: ни один из них не мог правильно отображать акценты, а разные акценты всегда отображаются одной и той же последовательностью странных глифов.
Временное обходное решение: я быстро создал команду revert commit с расширением git и "dcommited".
Вопрос: Мой репозиторий svn для моего предприятия в порядке, но теперь у меня есть две следующие проблемы:
- Поймите, что произошло с персонажами с акцентами
- Извлеките мою работу из истории SVN и скопируйте ее надлежащим образом (если возможно, без ручного просмотра всех символов с акцентами)
Может ли кто-нибудь предоставить некоторые подсказки (я довольно новичок в git)?