Skip to main content
CheckTown
Dev Tools

Strumento di differenza testo: Confronta file e trova ogni cambiamento

Pubblicato 5 min di lettura
In questo articolo

Cos'è un diff di testo?

Un diff di testo è un confronto tra due versioni di un testo che evidenzia esattamente cosa è cambiato. Mostra le aggiunte (nuove righe o caratteri), le eliminazioni (contenuto rimosso) e il contesto invariato. Gli strumenti diff sono fondamentali per il controllo di versione, la revisione del codice e i flussi di confronto tra documenti.

L'algoritmo di diff più comune è Myers diff, che trova il numero minimo di modifiche (inserimenti ed eliminazioni) necessarie per trasformare un testo nell'altro. È l'algoritmo utilizzato da Git e dalla maggior parte degli strumenti diff.

Come funziona il confronto diff

Il diff di testo di CheckTown confronta due input testuali e presenta le differenze in modo visuale.

  • Diff riga per riga — confronta i testi a livello di riga, indicando quali righe sono state aggiunte, rimosse o modificate
  • Diff dei caratteri inline — per le righe modificate, evidenzia i caratteri specifici che sono cambiati
  • Visualizzazione affiancata — mostra entrambe le versioni in parallelo per un facile confronto visivo

Prova gratuitamente — nessuna registrazione richiesta

Confronta testo →

Quando usare il diff di testo

Il diff di testo è utile in qualsiasi flusso di lavoro in cui occorra identificare le modifiche tra due versioni di un contenuto.

  • Revisione del codice — confronta versioni del codice per capire cosa è cambiato in una pull request o in una patch
  • Confronto di documenti — identifica le modifiche tra versioni di contratti, documenti di policy o file di configurazione
  • Debug dei dati — confronta le risposte API da ambienti diversi per individuare discrepanze

Domande frequenti

Cos'è il formato unified diff?

Il unified diff è il formato diff standard basato su testo usato da git diff e patch. Le righe che iniziano con + sono aggiunte, quelle che iniziano con - sono eliminazioni, e le righe senza prefisso sono righe di contesto invariate. I marcatori @@ indicano a quali numeri di riga si applica il blocco.

Qual è la differenza tra word diff e line diff?

Il line diff mostra intere righe come aggiunte o rimosse. Il word diff (git diff --word-diff) mostra le modifiche a livello di parola all'interno delle righe, facilitando l'individuazione di piccole modifiche in righe lunghe. Il diff a livello di carattere mostra ogni singola modifica di carattere, il che è più utile per confrontare stringhe molto simili.

Come posso ignorare gli spazi bianchi in un diff?

La maggior parte degli strumenti diff supporta opzioni per ignorare gli spazi bianchi. In Git, usa git diff -w per ignorare tutte le modifiche agli spazi bianchi, o -b per ignorare le variazioni nella quantità di spazi. Questo è utile quando si confronta codice che è stato riformattato senza modifiche funzionali, o testo proveniente da editor diversi che potrebbero usare diversi terminatori di riga.

Strumenti correlati