2013-01-11 17 views
39

Quando unisco un ramo in git per master, ottengo spesso conflitti di unione. C'è un modo per unire un ramo e semplicemente sovrascrivere il materiale nel ramo attuale?Git: fusione ma sovrascrittura delle modifiche

+0

Intendi come in SVN - usa la loro? – stdcall

+0

La mia esperienza con la scelta automatica di un lato per un'unione non è mai stata buona ... inoltre, non è forse il punto di unire i conflitti per verificare quali altre persone sono cambiate vicino alle stesse linee prima di rimuovere le loro modifiche? – Molske

+3

Sono io che ho creato il ramo localmente in primo luogo .. è solo più veloce di navigare nel file e rimuovere i conflitti –

risposta

55

Aggiungi argomento -X ours al comando git merge.

Supponiamo che lavori nella tua filiale locale. Poi si desidera unire in ciò che è andato nel master:

git merge -X ours master 

D'altra parte se si siete in master e desidera unire la vostra filiale locale in master poi @elhadi giustamente dice che si dovrebbe usare theirs:

git merge -X theirs somebranch 
+1

strategia è loro di prendere il loro lavoro non nostro –

+0

@elhadi La mia comprensione è che John Hunt vuole spingere * il suo * lavoro, non loro. – kmkaplan

+0

Era un ramo locale sì. Ad esempio, ho lavorato su somebranch e voglio unire/sostituire alcuni file di branch al posto di quelli sul master. –

4

sovrascrivere il bastone in ramo e portare il loro lavoro, si dovrebbe fare

git merge --strategy=recursive -X theirs {remote/branch} --> example:origin/master 
Problemi correlati