Git diff: rendere visibili le modifiche su Git

Git diff vi consente di comparare tra loro le modifiche apportate nei file, nei rami e nei commit. In questo modo potete scoprire più rapidamente gli errori e tenere più facilmente traccia degli sviluppi ben riusciti.

Registra il tuo dominio
  • Certificato SSL Wildcard incluso
  • Registrazione di dominio sicura
  • Indirizzo e-mail professionale da 2 GB

Che cos’è Git Diff e come funziona?

Sia che stiate mettendo mano a un piccolo progetto su Git, sia che facciate parte di un grande team con numerosi repository locali, è inevitabile che nel corso del processo di sviluppo effettuerete molte modifiche, muovendovi da una versione all’altra, e finendo per far aumentare il numero di rami, commit e file. Qualora desideriate comparare tra loro due fonti di dati, così da poter meglio monitorare o verificare le vostre modifiche, potete ricorrere al comando Git git diff. Questo comando confronta due salvataggi e vi mostra in che cosa si differenziano tra loro.

Ciò fa di git diff uno strumento importante per il lavoro quotidiano in un progetto. Questo comando viene frequentemente utilizzato assieme a git status e a git log. Tramite l’analisi dei dati non ottenete solamente una visione d’insieme sul vostro repository, bensì, in caso si verifichino dei problemi, avete anche la possibilità di identificare più velocemente le fonti degli errori nel codice. La sintassi di git diff in questo caso è sempre uguale. Il comando di base è il seguente:

git diff

Aggiungendo degli argomenti al comando, comunicate a Git quali fonti desiderate confrontare tra loro.

Esempio di utilizzo di git diff

La modalità di funzionamento di git diff si può spiegare meglio con un esempio. Supponiamo di creare un nuovo progetto col nome “nuovo_progetto” e di inserirvi due documenti di testo. Nominiamo questi documenti primo_colore.txt e secondo_colore.txt. Il contenuto di primo_colore.txt è la frase “Il primo colore è il blu”. Il documento secondo_colore.txt, invece, contiene semplicemente la frase “Il secondo colore è il rosso”. Se ora usaste git diff non accadrebbe nulla. Infatti, il repository non contiene ancora alcuna modifica da poter comparare. Ora spostate entrambi i documenti nell’area di staging con il comando git add, che trovate anche nella nostra pratica guida “Git Cheat Sheet” scaricabile in PDF. Il comando appare così:

git add primo_colore.txt secondo_colore.txt

Con il comando git status verificate innanzitutto quali modifiche sono state apportate e sulle quali è teoricamente possibile effettuare un commit. A questo punto, utilizzando il comando vi vengono mostrati entrambi i documenti di testo primo_colore.txt e secondo_colore.txt.

Ora, effettuate una modifica al secondo documento. Cambiate la frase “Il secondo colore è il rosso” con “Il secondo colore è il giallo”. Potete rendere visibile la modifica che avete adottato utilizzando git diff. Il risultato che comparirà è il seguente:

$ git diff
diff --git a/secondo_colore.txt b/secondo_colore.txt
index [index]
--- a/secondo_colore.txt
+++ b/secondo_colore.txt
@@ -1 +1 @@
-Il secondo colore è il rosso
\ No newline at end of file
+Il secondo colore è il giallo
\ No newline at end of file

Spiegazione delle singole righe

Poiché questo risultato potrebbe apparire poco chiaro, in questa sezione vi spieghiamo cosa comportano le singole righe.

  • diff --git a/secondo_colore.txt b/secondo_colore.txt: qui vi viene mostrato quali fonti di dati sono stati comparati con git diff. La versione “a” rappresenta la versione originale, mentre “b” indica la versione modificata.
  • index: nella riga index vi vengono mostrati i metadati. Tuttavia, solitamente questo dato non vi dovrebbe interessare.
  • --- a/secondo_colore.txt: git diff attribuisce alla fonte di dati originaria i tre segni meno, di modo che possiate rendervi conto delle modifiche.
  • +++ b/secondo_colore.txt: conseguentemente a quanto sopra, alla nuova versione viene assegnato il simbolo più.
  • @@ -1 +1 @@: questo è il block header (“intestazione del blocco”), dove vengono riassunte le modifiche. Poiché in questo esempio è stata effettuata una semplice modifica a una riga, l’header in questo caso è molto breve. Vi informa che nella prima riga è stato modificato qualcosa. Qualora formulaste più righe e, ad esempio, scambiaste una parola nella quinta riga, git ve lo segnalerebbe prontamente qui.
  • Righe rimanenti: a questo punto le righe rimanenti mostrano le modifiche nello specifico. Il contenuto della versione originaria (“-Il secondo colore è il rosso”) viene nuovamente contraddistinto dal segno meno, mentre il contenuto della versione modificata (“+Il secondo colore è il giallo”) dal più.

Altre comparazioni con git diff

Con git diff potete eseguire molteplici comparazioni di vario tipo. Queste sono le più importanti:

git diff HEAD

Con questo comando comparate le modifiche nella cartella di lavoro tramite index:

git diff <branch_1> <branch_2></branch_2></branch_1>

Con questo comando comparate i commit del branch_1 con quelli del branch_2; nel fare ciò, git diff tiene conto dell’ordine di successione di entrambi i rami:

git diff <commit_id> <commit_id></commit_id></commit_id>

Questo comando compara le modifiche tra due commit. Prima di poterlo eseguire, dovete richiedere l’ID dei commit corrispondenti con il comando git log.

Consiglio

Provatelo ora gratuitamente! Con Deploy Now di IONOS gestite tutti i vostri progetti da una dashboard e beneficiate di molte e utili funzionalità.

Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top