Meld è uno dei miei strumenti essenziali per lavorare con file di codice e dati. È uno strumento grafico di differenza, quindi se hai mai utilizzato il differenza comando e ha lottato per dare un senso all'output, Meld è qui per aiutarti.
Ecco una brillante descrizione dal sito web del progetto:
"Meld è uno strumento visivo di differenziazione e unione rivolto agli sviluppatori. Meld ti aiuta a confrontare file, directory e progetti controllati dalla versione. Fornisce un confronto a due e tre vie di file e directory e supporta molti sistemi di controllo della versione popolari .
"Meld ti aiuta a rivedere le modifiche al codice e a comprendere le patch. Potrebbe anche aiutarti a capire cosa sta succedendo in quell'unione che continui a evitare."
Puoi installare Meld su sistemi Debian/Ubuntu (incluso Raspbian) con:
$ sudo apt install meld
Su Fedora o simili, è:
$ sudo dnf install meld
Meld è multipiattaforma:c'è un'installazione di Windows che utilizza il gestore di pacchetti Chocolately. Sebbene non sia ufficialmente supportato su macOS, sono disponibili build per Mac e puoi installarlo su Homebrew con:
$ brew cask install meld
Vedi la home page di Meld per ulteriori opzioni.
Combinazione contro il comando diff
Se hai due file simili (forse uno è una versione modificata dell'altro) e vuoi vedere le modifiche tra di loro, puoi eseguire il diff comando per vedere le loro differenze nel terminale:
Questo esempio mostra le differenze tra conway1.py e conway2.py . Sta dimostrando che io:
- Rimossi shebang e seconda riga
- Rimosso (oggetto) dalla dichiarazione di classe
- Aggiunta una docstring alla classe
- Scambiato l'ordine di vivo e vicini ==2 in un metodo
Ecco lo stesso esempio usando la combinazione comando. Puoi eseguire lo stesso confronto dalla riga di comando con:
$ meld conway1.py conway2.py
Molto più chiaro!
Puoi facilmente vedere le modifiche e unire le modifiche tra i file facendo clic sulle frecce (funzionano in entrambi i modi). Puoi persino modificare i file in tempo reale (Meld funge anche da semplice editor di testo con confronti in tempo reale durante la digitazione), assicurati solo di salvare prima di chiudere la finestra.
Puoi anche confrontare e modificare tre diversi file:
Consapevolezza Git di Meld
Si spera che tu stia utilizzando un sistema di controllo della versione come Git. Se è così, il tuo confronto non è tra due file diversi ma per trovare le differenze tra il file di lavoro corrente e quello che Git conosce. Meld lo capisce, quindi se esegui meld conway.py , dove conway.py è noto a Git, ti mostrerà tutte le modifiche apportate dall'ultimo commit Git:
Puoi vedere le modifiche apportate alla versione corrente (a destra) e alla versione del repository (a sinistra). Puoi vedere che ho eliminato un metodo e aggiunto un parametro e un ciclo dall'ultimo commit.
Se esegui combina . , vedrai tutte le modifiche nella directory corrente (o nell'intero repository, se sei nella sua radice):
Puoi vedere che un singolo file è stato modificato, un altro file non è stato aggiornato (il che significa che è nuovo per Git, quindi ho bisogno di git add il file prima di confrontarlo) e molti altri file non modificati. Varie opzioni di visualizzazione sono fornite da icone nella parte superiore.
Puoi anche confrontare due directory, cosa a volte utile:
Conclusione
Più risorse Linux
- Comandi Linux cheat sheet
- Cheat sheet sui comandi avanzati di Linux
- Corso online gratuito:Panoramica tecnica RHEL
- Cheat sheet della rete Linux
- Cheat sheet di SELinux
- Cheat sheet dei comandi comuni di Linux
- Cosa sono i container Linux?
- I nostri ultimi articoli su Linux
Anche gli utenti regolari possono trovare confronti con diff difficili da decifrare. Trovo che le visualizzazioni fornite da Meld facciano una grande differenza nella risoluzione dei problemi di ciò che è cambiato tra i file. Inoltre, Meld offre un'utile consapevolezza del controllo della versione e ti aiuta a confrontare i commit Git senza pensarci troppo. Prova Meld e rendi la risoluzione dei problemi un po' più facile per gli occhi.
Questo è stato originariamente pubblicato sul blog Tooling di Ben Nuttall e viene riutilizzato previa autorizzazione.