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
risposta
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
strategia è loro di prendere il loro lavoro non nostro –
@elhadi La mia comprensione è che John Hunt vuole spingere * il suo * lavoro, non loro. – kmkaplan
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. –
sovrascrivere il bastone in ramo e portare il loro lavoro, si dovrebbe fare
git merge --strategy=recursive -X theirs {remote/branch} --> example:origin/master
Intendi come in SVN - usa la loro? – stdcall
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
Sono io che ho creato il ramo localmente in primo luogo .. è solo più veloce di navigare nel file e rimuovere i conflitti –