Reiniciar / desfazer a resolução de conflitos em um único arquivo

189

Em uma fusão git maior com vários arquivos conflitantes, marquei um arquivo incorretamente como resolvido (usando git add FILEapós alguma edição)

Agora, eu gostaria de desfazer minha tentativa de resolução de conflitos e começar novamente a resolver esse arquivo.

Como eu posso fazer isso?

Alex Krauss
fonte
1
Veja aqui: stackoverflow.com/questions/373812/…
RandomUs1r

Respostas:

334

Encontre a solução aqui: http://gitster.livejournal.com/43665.html

git checkout -m FILE

Isso restaura o estado não resolvido, incluindo todas as informações sobre o pai e a base de mesclagem, o que permite reiniciar a resolução.

Alex Krauss
fonte
3
+1; esta é a solução real :) git resetnão tocará no arquivo.
cutuca
4
Não funcionou para mim, arquivo ainda é marcado com both modified(no estado de conflito)
Gaui
Isso realmente me ajudou, pois colocou o arquivo de volta ao seu estado de resolução pré-conflito. O interessante é que, em vez de os dois pontos de mesclagem serem nomeados "head" e {REVISION}, eles agora são chamados de "nossos" e "deles".
TGP1994
26
"arquivo ainda está marcado com both modified". Esse é exatamente o resultado pretendido da pergunta.
Kevin Smyth
2
-mcomo em--merge
kontur
0
git reset HEAD FILE

Exemplo

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
Steven Penny
fonte
6
Quando faço isso e corro git statusdepois, FILEaparece em "Alterações não preparadas para confirmação". No entanto, eu esperaria que ele aparecer em "caminhos não mesclado", de modo que minha IDE vai buscá-lo para re-fusão ...
Alex Krauss