Come risolvo i conflitti di selezione tramite le loro modifiche?


110

Il mio ha git cherry-pick FOOprodotto un conflitto.

Potrei esaminare i file in conflitto ed eliminare le linee tra <<<<<<<e =======e gli stessi indicatori di conflitto, ma spero che ci sia un modo più semplice.

Penso che l' svnequivalente fosse scegliere theirs-conflictdi risolvere.

Come lo faccio git?

Non voglio in git checkout --theirs <file>quanto sembra produrre lo stesso risultato git checkout foo <file>invece di essere git diff FOO~..FOO <file>applicato.

Risposte:


196

Per prima cosa dovresti annullare la tua scelta, provare a eseguirlo

git cherry-pick --abort

Secondo, prova a fare la scelta migliore, ma in questo momento ottieni le loro modifiche non tue, quindi fai questo:

git cherry-pick --strategy=recursive -X theirs {Imported_Commit}

6
Un po 'più informazioni su ciò che quegli interruttori stanno facendo è disponibile presso stackoverflow.com/questions/2268172/...
antak

27
Ho provato questo esattamente: git cherry-pick --strategy=recursive -X theirs 1b92440e sto ancora richiamato per un conflitto irrisolto: Unmerged paths: deleted by them: (file path). Qualche idea?
pilau

Un modo più comprensibile per reimpostare dopo un cherry-pick / unione fallito è quello di utilizzaregit reset --merge
Pylinux

10
git cherry-pick --abort- questo è il modo consigliato per annullare l'operazione Cherry-pick.
tommyk

Non ho -Xun'opzione in git cherry-pick. git 1.7.2.3.
Frank
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.