2010-07-08 12 views
49

Ho unito cane ramo in animale. Quando vado a commettere, ottengo il seguente:Problema percorso Git unarm

Per farla breve, ho avuto diversi nomi delle directory e dei file in ogni ramo. Il ramo degli animali ha i cambiamenti che voglio.

Quando si ripristina la testina, non funziona. E quando vado a prendere qualsiasi altra azione git (rimuovere, checkout, ecc.), Ottengo un errore percorso non trovato.

Quali comandi devo eseguire?

risposta

51

Tutto quello che dovrebbe essere necessario fare è:

# if the file in the right place isn't already checked in 
git add <path to desired file> 
# remove the "both deleted" file from the index 
git rm --cached ../public/images/originals/dog.ai 

git commit   # commit the merge 
+0

ulteriore spiegazione sarebbe utile –

33

Un altro modo di affrontare questa situazione, se i file sono già arrivati, e che i file sono stati fusi (ma non impegnati, in modo che l'unione conflitti sono inserito nel file) è quello di eseguire:

git reset 

Questo passerà alla testa e dire a git dimenticare qualsiasi unione conflitti, e lasciare la directory di lavoro come è. Quindi è possibile modificare i file in questione (cercare le notifiche "Aggiornato a monte"). Una volta che hai affrontato i conflitti, è possibile eseguire

git add -p 

che vi permetterà di selezionare in modo interattivo quali modifiche si desidera aggiungere all'indice. Una volta che l'indice sembra buono (git diff --cached), si può commettere, e quindi

git reset --hard 

di distruggere tutte le modifiche indesiderate nella vostra directory di lavoro.

+0

Cosa sono le notifiche "Aggiornato a monte"? – saikosen

+2

@takias: i marcatori in ogni file che assomigliano a: '<<<<<<< [ramo] \ n [contenuto] \ n ==== \ n [contenuto] \ n [ramo] >>>>> >> '. Penso che il formato potrebbe essere leggermente cambiato da quando ho scritto questo, ma vedere https://wincent.com/wiki/Git_merge_conflict_cheatsheet per un esempio. – naught101

Problemi correlati