2013-08-21 6 views
1

Не уверен точно, как назвать этот вопрос, потому что я не на 100% уверен, в чем проблема. Я предполагаю, что при загрузке последних изменений в наш репозиторий файл был поврежден.Множество неожиданных данных в извлеченном git commit

Один из наших исходных файлов вышел похожим образом:

਍⼀⼀⼀ 㰀⼀猀甀洀洀愀爀礀㸀ഀഀ 
਍嬀䌀甀猀琀漀洀䔀搀椀琀漀爀⠀琀礀瀀攀漀昀⠀唀䤀圀椀搀最攀琀⤀⤀崀ഀഀ 
public class UIWidgetInspector : Editor 
਍笀ഀഀ 
    enum Action 
਍ऀ笀ഀഀ 
     None, 
਍ऀऀ䴀漀瘀攀Ⰰഀഀ 
    Scale, 
਍ऀऀ刀漀琀愀琀攀Ⰰഀഀ 
    } 
਍ഀഀ 

Я понятия не имею, почему это произошло, но когда я смотрю на файл на GitHub это кажется хорошо, а другой программист не имея эту проблему. Я предполагаю, что произошла некоторая коррупция, когда я набрал удаленные ветви.

Моим первым инстинктом было удалить и загрузить все мои удаленные ветви, но я понятия не имею, как это сделать.

Я пробовал:

git branch -rd origin/master 

А потом снова выборка, но никакие данные фактически не загружены (предположительно потому, что коммиты еще существует локально).

В принципе, я понятия не имею, что происходит, и не хватает клонирования репо (что я бы предпочел не делать), я полностью потерян.

+0

Является ли файл закодированным чем-то другим, кроме ascii или utf-8? Если нет, тогда Git может подумать, что он двоичный и munge, если у вас включен разговор о завершении строки. Хорошо известно, что Git не любит такие вещи, как кодировка utf-16. См., Например, [Как остановить git от разрыва кодировки при проверке] (http://stackoverflow.com/questions/13704936/how-to-stop-git-from-breaking-encoding-on-checkout). –

+1

Вы правы. Он был закодирован как utf-16 и отслеживается как двоичный файл. Если вы хотите дать ответ, я дам его вам. –

ответ

1

Самый простой, что нужно сделать, это новый клон в новом месте:

git clone <repo url> new-directory-name 

, а затем проверить, что проблема исчезла в новом клоне. Если все в порядке, и вам ничего не нужно из существующего репозитория, просто выбросьте его и используйте новую копию. Если вам нужно что-то, над чем вы работали из старого репозитория, вам придется сделать некоторое копирование между этими двумя.

Главное, что в репозитории нет ничего особенного. Вы можете иметь столько копий, сколько хотите.

Возможно, конечно, что существует проблема с кодировкой; но это первое, что я проверил.

0

Является ли файл закодирован в чем-либо другом, кроме ASCII или UTF-8? Если нет, то Git может подумать, что он двоичный и поврежден, если включена нормализация строки.

Хорошо известно, что Git не любит такие вещи, как кодировка UTF-16. См., Например, How to stop git from breaking encoding on checkout.

 Смежные вопросы

  • Нет связанных вопросов^_^