Qual è il miglior strumento di unione visiva per Git?


8 Answers

È possibile configurare il proprio strumento di unione da utilizzare con " git mergetool ".

Esempio:

  git config --global merge.tool p4merge
  git config --global mergetool.p4merge.cmd p4merge '$BASE $LOCAL $REMOTE $MERGED'
  git config --global mergetool.p4merge.trustExitCode false

E mentre ci sei, puoi anche impostarlo come difftool per " git difftool ":

  git config --global diff.tool p4merge
  git config --global difftool.p4merge.cmd p4merge '$LOCAL $REMOTE'

Nota che in Unix / Linux non vuoi che $BASE venga interpretato come una variabile dalla tua shell: dovrebbe effettivamente apparire nel tuo file ~ / .gitconfig perché funzioni.

Question

Qual è lo strumento migliore per visualizzare e modificare un'unione in Git? Mi piacerebbe avere una vista unione in 3 direzioni, con "mio", "loro" e "antenato" in pannelli separati e un quarto pannello "output".

Inoltre, le istruzioni per invocare detto strumento sarebbero grandiose. (Non ho ancora capito come avviare kdiff3 in modo tale da non darmi un errore.)

Il mio sistema operativo è Ubuntu.




Diffuse è il mio preferito ma ovviamente sono di parte. :-) È molto facile da usare:

$ diffuse "mine" "output" "theirs"

Diffuse è un piccolo e semplice strumento di unione di testo scritto in Python. Con Diffuse puoi facilmente unire, modificare e rivedere le modifiche al tuo codice. Diffuso è un software gratuito.




Quindi per il Git si fondono, puoi provare:

  • DiffMerge per confrontare visivamente e unire file su Windows, OS X e Linux.

  • Meld , è uno strumento di confronto e fusione visuale.

  • KDiff3 , un programma diff e merge), che confronta o unisce 2 o 3 file di input / dirs di testo.
  • opendiff (parte di Xcode Tools su macOS), un'utilità della riga di comando che avvia l'applicazione FileMerge da Terminal per confrontare graficamente file o directory, inclusa la merging .



Il mio strumento di fusione visiva preferito è SourceGear DiffMerge

  • È gratis.
  • Cross-platform (Windows, OS X e Linux).
  • Pulire l'interfaccia utente visiva
  • Tutte le funzionalità di diff che ti aspetti (Diff, Merge, Folder Diff).
  • Interfaccia a riga di comando.
  • Scorciatoie da tastiera utilizzabili




gitx http://gitx.frim.nl/

Alcuni bug quando si lavora con grandi serie di commit ma ottimi per sfogliare le modifiche e selezionare diverse modifiche allo stage e quindi eseguire il commit.










Ho provato molti degli strumenti menzionati qui e nessuno di loro è stato esattamente quello che sto cercando.

Personalmente, ho trovato Atom un ottimo strumento per visualizzare le differenze e la risoluzione / fusione dei conflitti.

Per quanto riguarda la fusione, non ci sono tre viste ma è tutto combinato in uno con l'evidenziazione colorata per ogni versione. Puoi modificare il codice direttamente o ci sono pulsanti per utilizzare qualsiasi versione di quello snippet che desideri.

Non lo uso più nemmeno come editor o IDE, solo per lavorare con git. Interfaccia utente pulita e molto semplice, in più è altamente personalizzabile.

  • È possibile avviarlo dalla riga di comando e passare un singolo file a cui si desidera aprire, oppure aggiungere la cartella del progetto (git repo).

    • Vorrei anche raccomandare project-manager come un modo molto comodo per navigare tra i progetti senza riempire la visualizzazione ad albero.
  • L'unico problema che ho riscontrato è l'aggiornamento: quando si lavora con repository di grandi dimensioni atom può essere lento ad aggiornare le modifiche apportate al di fuori di esso. Lo chiudo sempre quando ho finito e poi riapro quando voglio vedere di nuovo le mie modifiche / commit. Puoi anche ricaricare la finestra con Ctrl + Maiusc + F5, che richiede solo un secondo.

Ed è ovviamente gratuito.




vimdiff

Una volta che hai imparato Vim (e IMHO dovresti), vimdiff è solo un altro piccolo e bellissimo concetto ortogonale da imparare. Per ottenere assistenza online su vim:

:help vimdiff

Se sei bloccato nei periodi bui dell'uso del mouse, e i file che stai unendo non sono molto grandi, ti consiglio di combinare.




Related