Git diff vi consente di comparare tra loro le modifiche apportate nei file, nei rami e nei commit. In questo modo potete scoprire più ra­pi­da­men­te gli errori e tenere più fa­cil­men­te traccia degli sviluppi ben riusciti.

Registra il tuo dominio
  • Domain Connect gratuito per una con­fi­gu­ra­zio­ne facile del DNS
  • Cer­ti­fi­ca­to SSL Wildcard gratuito
  • Pro­te­zio­ne privacy inclusa

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 re­po­si­to­ry locali, è ine­vi­ta­bi­le che nel corso del processo di sviluppo ef­fet­tue­re­te molte modifiche, muo­ven­do­vi da una versione all’altra, e finendo per far aumentare il numero di rami, commit e file. Qualora de­si­de­ria­te comparare tra loro due fonti di dati, così da poter meglio mo­ni­to­ra­re o ve­ri­fi­ca­re le vostre modifiche, potete ricorrere al comando Git git diff. Questo comando confronta due sal­va­tag­gi e vi mostra in che cosa si dif­fe­ren­zia­no tra loro.

Ciò fa di git diff uno strumento im­por­tan­te per il lavoro quo­ti­dia­no in un progetto. Questo comando viene fre­quen­te­men­te uti­liz­za­to assieme a git status e a git log. Tramite l’analisi dei dati non ottenete solamente una visione d’insieme sul vostro re­po­si­to­ry, bensì, in caso si ve­ri­fi­chi­no dei problemi, avete anche la pos­si­bi­li­tà di iden­ti­fi­ca­re più ve­lo­ce­men­te le fonti degli errori nel codice. La sintassi di git diff in questo caso è sempre uguale. Il comando di base è il seguente:

git diff

Ag­giun­gen­do degli argomenti al comando, co­mu­ni­ca­te a Git quali fonti de­si­de­ra­te con­fron­ta­re tra loro.

Esempio di utilizzo di git diff

La modalità di fun­zio­na­men­to di git diff si può spiegare meglio con un esempio. Sup­po­nia­mo 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 sem­pli­ce­men­te la frase “Il secondo colore è il rosso”. Se ora usaste git diff non ac­ca­dreb­be nulla. Infatti, il re­po­si­to­ry 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” sca­ri­ca­bi­le in PDF. Il comando appare così:

git add primo_colore.txt secondo_colore.txt

Con il comando git status ve­ri­fi­ca­te in­nan­zi­tut­to quali modifiche sono state apportate e sulle quali è teo­ri­ca­men­te possibile ef­fet­tua­re un commit. A questo punto, uti­liz­zan­do il comando vi vengono mostrati entrambi i documenti di testo primo_colore.txt e secondo_colore.txt.

Ora, ef­fet­tua­te 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 uti­liz­zan­do 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

Spie­ga­zio­ne delle singole righe

Poiché questo risultato potrebbe apparire poco chiaro, in questa sezione vi spie­ghia­mo cosa com­por­ta­no 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” rap­pre­sen­ta la versione originale, mentre “b” indica la versione mo­di­fi­ca­ta.
  • index: nella riga index vi vengono mostrati i metadati. Tuttavia, so­li­ta­men­te questo dato non vi dovrebbe in­te­res­sa­re.
  • --- a/secondo_colore.txt: git diff at­tri­bui­sce alla fonte di dati ori­gi­na­ria i tre segni meno, di modo che possiate rendervi conto delle modifiche.
  • +++ b/secondo_colore.txt: con­se­guen­te­men­te a quanto sopra, alla nuova versione viene assegnato il simbolo più.
  • @@ -1 +1 @@: questo è il block header (“in­te­sta­zio­ne del blocco”), dove vengono riassunte le modifiche. Poiché in questo esempio è stata ef­fet­tua­ta una semplice modifica a una riga, l’header in questo caso è molto breve. Vi informa che nella prima riga è stato mo­di­fi­ca­to qualcosa. Qualora for­mu­la­ste più righe e, ad esempio, scam­bia­ste una parola nella quinta riga, git ve lo se­gna­le­reb­be pron­ta­men­te qui.
  • Righe rimanenti: a questo punto le righe rimanenti mostrano le modifiche nello specifico. Il contenuto della versione ori­gi­na­ria (“-Il secondo colore è il rosso”) viene nuo­va­men­te con­trad­di­stin­to dal segno meno, mentre il contenuto della versione mo­di­fi­ca­ta (“+Il secondo colore è il giallo”) dal più.

Altre com­pa­ra­zio­ni con git diff

Con git diff potete eseguire mol­te­pli­ci com­pa­ra­zio­ni di vario tipo. Queste sono le più im­por­tan­ti:

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 suc­ces­sio­ne 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 ri­chie­de­re l’ID dei commit cor­ri­spon­den­ti con il comando git log.

Consiglio

Provatelo ora gra­tui­ta­men­te! Con Deploy Now di IONOS gestite tutti i vostri progetti da una dashboard e be­ne­fi­cia­te di molte e utili fun­zio­na­li­tà.

Vai al menu prin­ci­pa­le