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?


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.


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)

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.