Na minha vida, não consigo encontrar uma explicação decente da mensagem "[arquivo]: precisa ser atualizada" que o git às vezes sai de vez em quando. Até o FAQ oficial do git explica isso marcado como um TODO. Se alguém pudesse explicar A) o que isso significa; e B) como consertar, eu ficaria extremamente grato.
156
Respostas:
Isso significa que você está tentando mesclar alterações de algum lugar, mas as alterações incluem modificações em um arquivo que está sujo (atualmente modificado na sua árvore de trabalho). Você precisa confirmar suas alterações pendentes ou ocultá-las, puxar / rebase / mesclar / o que estiver fazendo para atualizar e descompactar
fonte
git svn rebase
cópia de trabalho suja. Stash save, rebase, stash pop, e tudo estava bem com o mundo.Como outros já apontaram, a mensagem de atualização de necessidade significa que o arquivo está sujo ou, em outras palavras, desatualizado. Mas, em vez de redefinir e começar tudo de novo, o que pode ser feito é simples
git status
e,git add <file>
se estiver na lista alterada . Porque você já pode adicionar o arquivo antes, mas depois o alterou. Isso aconteceu comigo e, com isso simplesadd
, resolvi o problema.fonte
Faça logon no servidor de produção / destino,
cd
no diretório que contém seu aplicativo e execute esses dois comandos.1. Redefina para a versão mais recente
2. Puxe as alterações
fonte
Como diz a resposta à outra pergunta vinculada, a mensagem significa simplesmente que você tem alterações pendentes. Você também obtém isso, por exemplo, se realizar algumas mudanças
git add
, mudar de idéia e agirgit reset HEAD file
com a intenção de começar de novo.fonte
git reset HEAD file
faz com que a mesma mensagem apareçaEste erro pode ocorrer quando o processo de rebase faz alterações adicionais nos arquivos que não estão na ramificação de destino.
Para mim, a parte complicada foi com o
.gitattributes
arquivo no meu repositório. Um novo tipo de arquivo binário foi adicionado em outra ramificação, mas sua manipulação foi forçada como arquivo de texto. Quando o arquivo foi baixado do repositório pelo git, os EOLs (na verdade, são bytes de valor binário) foram substituídos - resultando em diferença binária.Adicionar uma nova entrada para lidar com o novo tipo de arquivo como binário e tentar novamente todo o processo resolveu o problema para mim.
fonte
No meu caso, eu continuava recebendo
Eu tinha esses arquivos no meu diretório, mas eles foram renomeados no meu ramo atual. Então, para corrigir, eu corri
e isso me permitiu continuar
fonte