Risolvere i conflitti di unione
Si verifica un conflitto quando entrambi i rami modificano le stesse righe. Il risolutore di GitTree mostra le due versioni affiancate, A e B: seleziona le righe da mantenere in ciascun conflitto, seleziona Output, quindi Save e continua l'unione, il rebase o il cherry-pick.
Funziona in GitTree Gratuito: tutte le funzionalità Git locali, una volta effettuato l'accesso.
In questa pagina
Prima di iniziare
- Una fusione, un rebase, un cherry-pick o un ripristino interrotto da conflitti: lo dice il banner e li conta.
Dove trovarlo
- Il banner sopra il grafico: Resolve.
- Nel pannello delle modifiche, i file in conflitto vengono elencati per primi; selezionarne uno per aprirlo.
| Azione | macOS | Windows e Linux |
|---|---|---|
| Prossima modifica nel file | F7 | F7 |
| Modifica precedente nel file | ⇧F7 | Shift+F7 |
Passi
Apri il file in conflitto
Seleziona Resolve nel banner. Il risolutore apre il primo file in conflitto, con quanti conflitti ha e 0 of 2 conflicts resolved sopra di esso.

Ciascuna parte nomina il proprio commit e ramo; l'output seguente mostra cosa conterrà il file.GitTree interfaccia con un repository dimostrativo. Decidi ogni conflitto
Per Conflict 1, seleziona le righe da mantenere in A, in B o in entrambi. Keeps 1 of 1 lines conferma la tua scelta; il conflitto viene contrassegnato come risolto non appena si decide qualcosa. Take Neither non ne mantiene nessuno.
Controllare l'output
Il riquadro Output mostra il file così come verrà salvato, con una nota su ogni conflitto ancora indeciso e Go to Conflict per saltare lì. Utilizza Edit Output per digitare una correzione manualmente e Show Base per vedere l'antenato comune.
Salva e continua
Premi Save per scrivere il file e contrassegnarlo come risolto. Una volta risolti tutti i file, scegli Continue nel banner per completare l'operazione.
Risultato atteso
La fase di unione (o rebase) viene completata con la risoluzione e il banner scompare.
Modi più rapidi per risolvere
- La casella accanto a A o B nell'intestazione accetta ogni conflitto del file da quel lato.
- Undo Choice e Redo Choice seguono le tue decisioni senza toccare il file.
- Open in Merge Tool consegna il file allo strumento di unione esterno impostato nella configurazione Git.
- Con
rerereattivo, Git riutilizza il modo in cui hai risolto lo stesso conflitto in precedenza; GitTree dice Reused resolution e ti consente di rivederlo.
Se qualcosa va storto
"Il risultato ha ancora... linee di marcatori di conflitto; non può essere salvato finché non vengono rimosse."
Hai modificato l'output manualmente ed è rimasta una riga come <<<<<<< o >>>>>>>. Rimuovilo o decidi invece il conflitto con le scatole.
"Questo file è cambiato sul disco mentre lo stavi risolvendo."
Un altro programma ha scritto nel file. GitTree mantiene le tue scelte precedenti: confrontale con il file adesso, usale come output o scartale.
Domande
Da che parte è la mia?
Durante un'unione, A è il tuo ramo attuale e B il ramo da unire; ogni intestazione nomina il commit e il ramo. Durante un rebase si scambiano: A è il ramo su cui esegui il rebase, B il tuo commit viene riprodotto.