1

Это случилось дважды. Первый раз на 4 или 5 файлов. Во второй раз только один, но я толкал только один в то время. Я использую Visual Studio 2013 для редактирования скриптов PowerShell. Я не знаю, относится ли это к делу, так как я думаю, что это всего лишь файлы UTF-8, когда Git работает с ними. Я не уверен, что это во время коммита или толчка, но мои файлы портятся. Пример первых нескольких строк, когда он чистый:

$Start=Get-Date
$Global:Timings=@()
$Global:Timings+=1
#$Global:Timings+=2
function Stamp($msg){ $Global:Timings += @{Date=(Get-Date).addseconds(4);Message=$msg} }

Я толкнул это на работе, и когда я вернулся домой и вытащил его, я получаю:http://pastebin.com/EgVzZZHs

Новый файл полон, когда я думаю, что китайские иероглифы. Мне пришлось использовать pastebin, потому что суперпользователь не позволяет эти символы. Согласно анализу некоторых файлов, оригинал - UTF-8, а новый - UTF-16 Big Endian. Файл выглядит так же, как и в Notepad, SciTe, Visual Studio, WinMerge и в инструментах Tortoise Git. Я подозреваю (основываясь на воспоминаниях о том, как это происходило в последний раз), но в данный момент не могу проверить, что файл на моем диске на работе будет в порядке. Я не знаю, будет ли испорчен индекс Git, но я думаю, что если я потяну, хороший файл будет заменен плохим. Оба клиента Windows 7. Удаленное репо находится на BitBucket. Это всего лишь неделя или около того. Кто-нибудь знает, что происходит и / или как это предотвратить? Я очень расстроен из-за этого. Большое спасибо!

1 ответ1

1

Я понимаю, что это старый вопрос, но он впервые появился в Google для меня.

Вы правы в том, что проблема в том, что кодировка файла отличается от UTF-8. Однако я думаю, что переключение кодирования произошло до того, как вы перешли на Bitbucket. Вы можете легко исправить это с помощью Sublime Text или Notepad++, если у вас есть нетленная копия файла. Просто откройте поврежденный файл в Sublime Text, вставьте правильный код и затем используйте команду File-> Save With Encoding-> UTF-8. Затем верните его обратно в Bitbucket. Я также заметил, что файл правильно отображается в интерфейсе Bitbucket, даже если после его извлечения он испортится. Таким образом, вы можете скопировать код непосредственно из интерфейса Bitbucket.

https://stackoverflow.com/questions/17515768/git-messed-up-my-files-showing-chinese-characters-in-some-places

https://stackoverflow.com/questions/21289157/set-encoding-of-file-to-utf8-with-bom-in-sublime-text-3

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .