Riavvia / annulla la risoluzione dei conflitti in un singolo file


189

In un'unione git più grande con diversi file in conflitto, ho erroneamente contrassegnato un file come risolto (utilizzando git add FILEdopo alcune modifiche)

Ora vorrei annullare il mio tentativo di risoluzione dei conflitti e ricominciare da capo risolvendo quel file.

Come lo posso fare?


Risposte:


335

Ho trovato la soluzione qui: http://gitster.livejournal.com/43665.html

git checkout -m FILE

Ciò ripristina lo stato non risolto, comprese tutte le informazioni sulla base padre e di unione, che consente di riavviare la risoluzione.


3
+1; questa è la vera soluzione :) git resetnon toccherà il file.
colpì il

4
Non ha funzionato per me, il file è ancora contrassegnato con both modified(in stato di conflitto)
Gaui

Questo mi ha davvero aiutato dal momento che ha riportato il file nel suo stato di risoluzione pre-conflitto. La cosa interessante è che invece di unire i due punti di unione "testa" e {REVISIONE}, ora vengono chiamati "nostri" e "loro".
TGP1994,

26
"il file è ancora contrassegnato con both modified". Questo è esattamente il risultato previsto della domanda.
Kevin Smyth,

2
-mcome in--merge
kontur il

0
git reset HEAD FILE

Esempio

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)

6
Quando lo faccio e corro in git statusseguito, FILEappare sotto "Modifiche non messe in scena per il commit". Tuttavia, mi aspetto che venga visualizzato in "Percorsi non uniti", in modo che il mio IDE lo raccolga per la nuova fusione ...
Alex Krauss,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.