8

Prima utilizzavo il plug-in GIT NetBeans, quindi ho deciso di passare a SourceTree, poiché è più efficiente e potente. Come nuovo arrivato a SourceTree sono riuscito a capire i flussi di lavoro di base Pull, Push e Commit.Risoluzione dei conflitti di Git in SourceTree

Tuttavia, mi sono bloccato quando c'erano conflitti di file durante l'unione con il lavoro del mio amico. In NetBeans se ci sono conflitti, il plugin suggerisce di risolverlo in un popup e voglio solo andare all'interfaccia di risoluzione dei conflitti e accettare il blocco di codice corretto facendo clic su un pulsante. E 'stato semplice

In SourceTree, c'è qualcosa chiamato External Merge Tool che non ha funzionato bene per me. Quando faccio clic con il pulsante destro del mouse sul file con conflitti, ho aperto due file affiancati e c'erano frecce rivolte da sinistra a destra nel mezzo. C'è un menu a discesa nella parte inferiore dello schermo per selezionare la direzione della freccia.

Ho provato a utilizzare questa interfaccia per risolvere i conflitti, ma non sono riuscito. Non ha risolto i conflitti e unito due file.

Come ho cercato su Internet, ho scoperto che alcune persone usano plugin di risoluzione dei conflitti esterni SourceTree per unire. In realtà sono un po 'perso qui. Ecco perché ho deciso di postare questo problema qui perché questo potrebbe aiutare qualcuno come me un giorno.

So che ci sono molte persone che utilizzano SourceTree da molto tempo. Qualcuno di loro potrebbe dirmi come risolvere i conflitti in SourceTree in modo efficace?

Devo utilizzare un plug-in esterno o devo utilizzare lo strumento di stampa esterno (in tal caso, come posso utilizzarlo)?

risposta

10

Sto utilizzando SourceTree insieme a TortoiseMerge/Diff, che è uno strumento diff/merge molto facile e conveniente.

Se vuoi usarlo così, allora:

  1. ottenere la versione standalone di TortoiseMerge/Diff (abbastanza vecchio, dal momento che non viene fornito stand-alone a partire dalla versione 1.6.7 di TortosieSVN, questo è da luglio 2011). Link e dettagli in this answer.

  2. Decomprimere TortoiseIDiff.exe e TortoiseMerge.exe in qualsiasi cartella (c:\Program Files (x86)\Atlassian\SourceTree\extras\ nel mio caso).

  3. In SourceTree aperto Tools > Options > Diff > External Diff/Merge. Selezionare TortoiseMerge in entrambi gli elenchi a discesa.

  4. Hit OK e indirizzare SourceTree alla posizione di TortoiseIDiff.exe e TortoiseMerge.exe.

Dopo di che, è possibile selezionare dal menu di contesto Resolve Conflicts > Launch External Merge Tool su ogni file in conflitto nel repository locale. Questo aprirà TortoiseMerge, dove puoi facilmente gestire tutti i conflitti, hai. Una volta terminato, basta chiudere TortoiseMerge (non è nemmeno necessario salvare le modifiche, questo verrà probabilmente eseguito automaticamente) e dopo pochi secondi SourceTree dovrebbe gestirlo con garbo.

L'unico problema è che crea automaticamente una copia di backup, anche se proper option is unchecked.

C'è an alternate solution a questo problema, che utilizza KDiff3 invece di TortoiseDiff/TortoiseMerge.

Problemi correlati