Vai al contenuto
GitTree
Unisci e risolvi

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.

GratuitoAggiornato

Funziona in GitTree Gratuito: tutte le funzionalità Git locali, una volta effettuato l'accesso.

In questa pagina
  1. Prima di iniziare
  2. Dove trovarlo
  3. Passi
  4. Risultato atteso
  5. Modi più rapidi per risolvere
  6. Se qualcosa va storto
  7. Domande
  8. Relativo

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.
AzionemacOSWindows e Linux
Prossima modifica nel fileF7F7
Modifica precedente nel file⇧F7Shift+F7

Passi

  1. 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.

    Il risolutore di conflitti GitTree con QuickOpen.tsx: due conflitti tra sviluppo (A) e funzionalità/ricerca (B) e l'output di seguito
    Ciascuna parte nomina il proprio commit e ramo; l'output seguente mostra cosa conterrà il file.GitTree interfaccia con un repository dimostrativo.
  2. 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.

  3. 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.

  4. 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 rerere attivo, 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.