O arquivo está corrompido ao usar o repositório do Git no BitBucket

1

Isso aconteceu duas vezes. A primeira vez para 4 ou 5 arquivos. A segunda vez para apenas um, mas eu estava apenas empurrando um no momento. Eu estou usando o Visual Studio 2013 para editar scripts do PowerShell. Não sei se isso é relevante, pois acho que são apenas arquivos UTF-8 quando o Git lida com eles. Eu não tenho certeza se é no momento do commit ou push, mas meus arquivos estão ficando confusos. Um exemplo das primeiras linhas quando está limpo:

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

Eu empurrei isso no trabalho e quando cheguei em casa e o puxei, recebi: link

O novo arquivo está cheio de quando eu estou pensando são caracteres chineses. Eu tive que usar pastebin porque o superusuário não permite esses caracteres. De acordo com algumas análises de arquivos, o original é UTF-8, enquanto o novo arquivo é UTF-16 Big Endian. O arquivo parece igualmente confuso no Notepad, no SciTe, no Visual Studio, no WinMerge e nas ferramentas do Tortoise Git. Eu suspeito (com base na minha lembrança da última vez que isso aconteceu), mas não posso verificar no momento, que o arquivo no meu disco no trabalho vai ficar bem. Eu não sei se o índice do Git vai ficar bagunçado, mas eu acho que se eu puxar, o arquivo bom será substituído pelo arquivo ruim. Ambos os clientes são o Windows 7. O repositório remoto está no BitBucket. É apenas uma semana ou mais. Alguém tem alguma idéia do que está acontecendo e / ou como evitá-lo? Estou muito chateado com isso. Muito obrigado!

    
por Programmer Paul 15.08.2015 / 06:03

1 resposta

1

Eu sei que essa é uma pergunta antiga, mas isso surgiu primeiro no Google para mim.

Você está certo de que o problema é que a codificação do arquivo é diferente de UTF-8. No entanto, acho que a troca de codificação aconteceu antes de você enviar para o Bitbucket. Você pode corrigir isso com Sublime Text ou Notepad ++ facilmente, se você tiver uma cópia não corrompida do arquivo. Basta abrir o arquivo ofensivo no Texto sublime, colar o código correto e usar o comando Arquivo-> Salvar com codificação- > UTF-8. Em seguida, empurre-o de volta para o Bitbucket. Eu também notei que o arquivo era exibido corretamente na interface do Bitbucket, mesmo que ele fosse bagunçado depois de ser puxado. Então você pode copiar o código diretamente da interface do Bitbucket.

link

link

    
por 20.10.2017 / 01:18