Supponiamo che io merge
git e ci sia un conflitto di unione.
La mia domanda è: come posso forzare git a scegliere sempre la versione più recente del codice in conflitto in modo da non dover risolvere il conflitto manualmente?
Supponiamo che io merge
git e ci sia un conflitto di unione.
La mia domanda è: come posso forzare git a scegliere sempre la versione più recente del codice in conflitto in modo da non dover risolvere il conflitto manualmente?
Risposte:
Non è esattamente la versione "più recente", ma puoi dire a git di preferire sempre la versione sul ramo corrente usando git merge branch -X ours
, o di preferire la versione del ramo che viene unito, usando git merge branch -X theirs
.
Da man git-merge
:
nostro:
Questa opzione costringe gli hunk in conflitto a essere risolti automaticamente in modo pulito favorendo la nostra versione. Le modifiche dall'altro albero che non sono in conflitto con il nostro lato si riflettono nel risultato dell'unione. Per un file binario, l'intero contenuto viene preso dalla nostra parte.
il loro:
Questo è l'opposto del "nostro".
ours
- theirs
!! Dillo e capisci cosa fa il comando! Amo Git! : D
git merge branch
, dovrai farlo git merge --abort
prima di poterlo fare.
error: The following untracked working tree files would be overwritten by merge:
Non so nemmeno perché questi file siano in questo ramo in primo luogo, ma dovrebbero essere sovrascritti e git rifiuta.
git add
). Leggi un po ' git clean
, potrebbe aiutarti in questo.
git merge ours
, se ci sono alcuni file in conflitto, ci sarà un registro? e potrei monitorare il di git merge ours
?
Io uso questo
git fetch --prune
git reset --hard origin/master