Visualizzazione post con etichetta modifiche. Mostra tutti i post
Visualizzazione post con etichetta modifiche. Mostra tutti i post

lunedì 15 settembre 2025

Git: Visualizzare le modifiche tracciate e non tracciate

Il comando git status fornisce una panoramica dello stato del repository, ma talvolta può risultare troppo generico: mostra quali file sono stati modificati, senza però evidenziare nel dettaglio quali righe siano cambiate.

Per ottenere una visione più approfondita delle differenze, è possibile utilizzare il comando git diff, che permette di ispezionare direttamente le modifiche a livello di contenuto.

In particolare, il comando git diff consente di ottenere risposte a due quesiti fondamentali:
  • Quali modifiche sono state effettuate ma non ancora aggiunte all’area di staging?
  • Quali modifiche risultano già presenti nello staging e che, di conseguenza, verranno incluse nel prossimo commit?


Differenze tra file modificati e staging area

Supponiamo, ad esempio, di modificare il file Readme.txt e di aggiungerlo allo staging con git add, mentre contestualmente modifichiamo il file Project1.cs senza però metterlo in staging.

Un comando git status restituirà un output simile a quello mostrato in FIG 1

git status
FIG 1 - git status


In questa situazione, se eseguiamo:

git diff

Git ci mostrerà le modifiche presenti nel working directory ma non ancora aggiunte allo staging. Questo output, detto patch, include esattamente le righe aggiunte (+) e rimosse (-) nei file.

git diff
FIG 2 - git diff

Al contrario, se desideriamo visualizzare le differenze già pronte per il prossimo commit, dobbiamo usare:

git diff --staged

oppure, in alternativa:

git diff --cached

(--staged e --cached sono sinonimi). Questo comando confronta le modifiche presenti nello staging con l’ultimo commit registrato.

git diff --staged
FIG 3 - git diff --staged

Caso pratico: modifiche sia staged che unstaged

Può accadere che lo stesso file venga modificato, aggiunto allo staging e poi ulteriormente modificato senza essere riaggiunto. In questo caso, git diff e git diff --staged mostrano rispettivamente:

  • le differenze non ancora aggiunte,
  • le differenze già pronte per essere salvate nel commit successivo.

Questo scenario è comune durante lo sviluppo, e l’uso combinato dei due comandi consente di avere il massimo controllo su ciò che sarà effettivamente registrato nella cronologia del progetto.

Nota importante: È bene sottolineare che git diff, se usato da solo, non mostra tutte le modifiche rispetto all’ultimo commit, ma solo quelle ancora unstaged.

Se tutte le modifiche sono state aggiunte allo staging, il comando non produrrà alcun output. In questi casi, l’opzione --staged è necessaria per visualizzare le differenze.


Utilizzo di strumenti esterni: git difftool

Per chi preferisce un’interfaccia grafica o un visualizzatore esterno, Git mette a disposizione il comando git difftool. Questo consente di analizzare le differenze utilizzando software come vimdiff, meld, kdiff3, o strumenti commerciali come Beyond Compare e Araxis Merge.

git difftool, richiesta avvio tool per la comparazione
FIG 4 - git difftool, richiesta avvio tool per la comparazione


Differenze nel file Project1.cs
FIG 5 - Differenze nel file Project1.cs

Per scoprire quali strumenti sono disponibili sul proprio sistema:

git difftool --tool-help

È possibile configurare uno strumento di default nel file di configurazione globale:

git config --global diff.tool meld

Da quel momento, eseguendo git difftool senza ulteriori opzioni, Git aprirà automaticamente le differenze nell’applicativo scelto.


Best practices

  • Usare spesso git diff: controllare con regolarità le differenze riduce il rischio di commettere modifiche indesiderate.
  • Verificare prima di committare: un git diff --staged prima di eseguire il commit assicura che solo le modifiche realmente volute vengano salvate nella cronologia.
  • Configurare strumenti grafici: in progetti complessi, visualizzatori esterni possono facilitare l’analisi di modifiche estese.


Di seguito una tabella riepilogativa dei principali comandi di Git usati per analizzare lo stato dei file e le modifiche:

Comando Scopo principale Cosa mostra Quando usarlo Output
git status Fornisce una panoramica dello stato del repository Elenco dei file modificati, non tracciati, staged o unstaged Per avere una visione generale prima di committare Testuale, descrittivo (ma non mostra le differenze riga per riga)
git diff Mostra le modifiche non ancora aggiunte allo staging (unstaged) Differenze tra working directory e staging area Per sapere esattamente cosa è cambiato nei file non ancora aggiunti Patch con righe aggiunte (+) e rimosse (-)
git diff --staged (o git diff --cached) Mostra le modifiche già aggiunte allo staging Differenze tra staging area e ultimo commit Per verificare cosa verrà incluso nel prossimo commit Patch dettagliata delle modifiche staged
git difftool Visualizza le differenze con uno strumento esterno Identico a git diff (staged o unstaged, a seconda dei parametri), ma in interfaccia grafica o editor Per analizzare modifiche complesse o in progetti estesi Dipende dallo strumento scelto (es. vimdiff, meld, Beyond Compare, ecc.)



martedì 20 gennaio 2015

MS Word Quick Tip: ricercare sezioni modificate

Quando modifichiamo un file Word composto da più pagine, potremmo avere la necessità di spostarci rapidamente nei pressi delle sezioni oggetto di modifica. Tale operazione può essere effettuata tramite la combinazione di tasti SHIFT + F5.

lunedì 12 gennaio 2015

MS Word Quick Tip: Confrontare 2 versioni di un documento Word

Spesso capita di disporre di più versioni di uno stesso documento Word e avere la necessità di visualizzare le modifiche magari effettuate da un altro utente che ha lavorato sullo stesso documento. Microsoft Word mette a disposizione un utile strumento che aiuta gli utenti in questa operazione. Tutto quello di cui abbiamo bisogno sono i 2 documenti da controllare: il documento originale e quello modificato (sarebbe meglio assegnare ai 2 documenti nomi diversi per maggiore chiarezza).

In MS Word 2010/2013:
  • Apriamo il documento originale con MS Word
  • Clicchiamo sul pulsante Revisione quindi su Confronta e selezioniamo dal menu l'opzione Confronta...
Word: Revisione-Confronta
FIG 1 - Word: Revisione-Confronta
  • Nella nuova finestra indichiamo il documento originale e quello revisionato;
FIG 2 - Confronta documenti
  • Cliccando sul pulsante Altro>> possiamo settare ulteriori impostazioni per il confronto;
FIG 3 - Confronta documenti pulsante Altro
  • Avviamo il confronto cliccando su OK. Al termine verrà aperto un nuovo documento in cui verranno mostrate le modifiche effettuate e l'utente che le ha eseguite. Sul lato destro del documento viene riportato il documento originale e quello revisionato. A sinistra vengono elencate le modifiche effettuate mentre al centro viene evidenziato, con una linea rossa, il testo oggetto di modifica
Risultato confronto
FIG 4 - Risultato confronto