Estou usando Dropbox
para sincronizar um git
repositório, mas agora quando tento e push
recebo um erro:
fatal: Reference has invalid format: 'refs/heads/master (MacBook-Pro's conflicted copy 2012-10-07)'
Então, parece que o Dropbox detectou um conflito e criou uma cópia. Ok, sem problemas, então excluí o arquivo em conflito. Ainda assim, obtendo o erro git acima.
$ git checkout master
M index.html
Already on 'master'
$ git add .
$ git commit -a -m "Cleanup repo"
[master ff6f817] Cleanup repo
1 file changed, 5 insertions(+), 5 deletions(-)
$ git push
fatal: Reference has invalid format: 'refs/heads/master (MacBook-Pro's conflicted copy 2012-10-07)'
The remote end hung up unexpectedly`
Como posso consertar isso? Obrigado.
find . -type f -name "* conflicted copy*" -delete
O arquivo em conflito pode estar em vários lugares, eu verificaria:
Ou você pode procurar em todos os lugares no
.git
subdiretório:find . -name '*conflicted*'
Ou, caso contrário, liste os branches ativos com
git branch -a
e delete (git branch -d
) qualquer coisa suspeita.fonte
.git
. Eu passei e apaguei todos eles e foi corrigido. Obrigado.find . -name '*conflicted*'
(Editar: formato)find
, consegui um único arquivo conflitante e resolvi manualmente o problema com doismv
. Fazer isso devagar e raciocinar passo a passo é o caminho mais seguro.Isso também acontece com nossa equipe quando meu colega envia suas alterações e desliga o PC antes que o Dropbox seja atualizado.
Eu resolvi tão simplesmente
Excluiu apenas a cópia em conflito. (Cópia em conflito de XXXX aaaa-mm-dd)
E puxe normalmente.
Observe que meu colega fez as alterações antes de bagunçar. E ele empurrou suas mudanças novamente. Desta vez, sem desligamento. :)
fonte
Consegui excluir todos os arquivos em conflito da minha pasta .git, mas continuei a receber erros sobre arquivos que não existiam mais.
A correção para mim foi abrir
.git/refs/packed_refs
e excluir linhas que continham o texto "conflitante".fonte
Pra mim estava dando erro:
fatal: Reference has invalid format: 'refs/tags/r0.2:3'
Você pode ir para o arquivo /.git/packed_refs e deletar a linha para
refs/tags/r0.2:3
Então começou a funcionar. Mas por que isso aconteceu em primeiro lugar, eu não sei.
fonte
Experimente um
git checkout master
primeiro para chegar no ramo saudável e bem nomeado.fonte
git push origin master
e também colar a saída degit branch -a
please?git branch -a
resulta nesse mesmo erro!Eu estava recebendo o mesmo erro
para o seguinte comando
Então, eu procurei por um nome errado (nome do ramo seguido por (1)) usando o comando
E mostrou o seguinte resultado
Que é uma versão duplicada de somebranch IMO. Então, eu removi isso executando o comando find seguido de delete
Então o comando branch foi executado com sucesso
fonte
Encontrei um erro semelhante, como
A simples exclusão do arquivo
.git/refs/heads/user-search-api (Sithu's conflicted copy 2016-01-08)
no repositório remoto do Dropbox resolveu o problema.fonte