GNU/Linux >> Znalost Linux >  >> Linux

Nemáte rádi diff? Místo toho použijte Meld

Meld je jedním z mých základních nástrojů pro práci s kódem a datovými soubory. Je to grafický nástroj pro porovnání, takže pokud jste někdy použili rozdíl Meld je tu, aby vám pomohl.

Zde je skvělý popis z webových stránek projektu:

"Meld je vizuální nástroj pro porovnání a sloučení zacílený na vývojáře. Meld vám pomůže porovnávat soubory, adresáře a projekty s řízenou verzí. Poskytuje obousměrné a třícestné srovnání souborů a adresářů a má podporu pro mnoho populárních systémů pro správu verzí." .

"Meld vám pomůže zkontrolovat změny kódu a porozumět záplatám. Může vám dokonce pomoci zjistit, co se děje v tom sloučení, kterému se stále vyhýbáte."

Meld můžete nainstalovat na systémy Debian/Ubuntu (včetně Raspbianu) pomocí:

$ sudo apt install meld

Na Fedoře nebo podobném je to:

$ sudo dnf install meld

Meld je multiplatformní – existuje instalace systému Windows pomocí správce balíčků Chocolately. Ačkoli to není oficiálně podporováno na macOS, jsou k dispozici sestavení pro Mac a můžete si je nainstalovat na Homebrew pomocí:

$ brew cask install meld

Další možnosti naleznete na domovské stránce Meld.

Meld vs. příkaz diff

Pokud máte dva podobné soubory (možná jeden je upravená verze druhého) a chcete vidět změny mezi nimi, můžete spustit rozdíl příkaz k zobrazení jejich rozdílů v terminálu:

Tento příklad ukazuje rozdíly mezi conway1.py a conway2.py . Ukazuje to, že:

  • Odstranil shebang a druhý řádek
  • Odstraněno (objekt) z deklarace třídy
  • Do třídy byl přidán dokumentační řetězec
  • Zaměněno pořadí živé a sousedé ==2 v metodě

Zde je stejný příklad s použitím meld příkaz. Stejné porovnání můžete spustit z příkazového řádku pomocí:

$ meld conway1.py conway2.py

Mnohem jasnější!

Kliknutím na šipky můžete snadno zobrazit změny a sloučit změny mezi soubory (fungují oběma způsoby). Soubory můžete dokonce upravovat naživo (Meld funguje také jako jednoduchý textový editor s živým porovnáním při psaní) – před zavřením okna nezapomeňte uložit.

Můžete dokonce porovnávat a upravovat tři různé soubory:

Povědomí Meld's Git

Doufejme, že používáte systém správy verzí, jako je Git. Pokud ano, vaše srovnání není mezi dvěma různými soubory, ale hledáním rozdílů mezi aktuálním pracovním souborem a tím, který Git zná. Meld to chápe, takže pokud spustíte meld conway.py , kde conway.py je Git zná, zobrazí vám všechny změny provedené od posledního odevzdání Git:

Můžete vidět změny provedené v aktuální verzi (vpravo) a verzi úložiště (vlevo). Můžete vidět, že jsem od posledního odevzdání smazal metodu a přidal parametr a smyčku.

Pokud spustíte meld . , uvidíte všechny změny v aktuálním adresáři (nebo v celém úložišti, pokud jste v jeho kořenovém adresáři):

Můžete vidět, že jeden soubor je upraven, jiný soubor nemá verzi (to znamená, že je v Gitu nový, takže musím git add soubor před jeho porovnáním) a mnoho dalších neupravených souborů. Různé možnosti zobrazení poskytují ikony v horní části.

Můžete také porovnat dva adresáře, což se někdy hodí:

Závěr

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

I běžní uživatelé mohou najít srovnání s diff těžko rozluštit. Zjistil jsem, že vizualizace, které Meld poskytuje, mají velký rozdíl při odstraňování problémů, co se mezi soubory změnilo. Kromě toho přichází Meld s určitým užitečným povědomím o správě verzí a pomáhá vám porovnávat různé revize Git, aniž byste o tom příliš přemýšleli. Vyzkoušejte Melda a usnadněte si odstraňování problémů.

Toto bylo původně publikováno na blogu Tooling Bena Nuttalla a je znovu použito se svolením.


Linux
  1. Jak používat Netcat k přenosu souborů v systému Linux

  2. Jak používat Linuxový příkaz find k hledání souborů

  3. Příklady příkazů diff v Linuxu

  1. diff:příkaz nenalezen

  2. jak používat python2.7 pip místo výchozího pipu

  3. Používat zařízení přes SSH?

  1. Použijte systemd časovače místo cronjobů

  2. Jak používat příkaz Grep k vyhledání textu v souborech

  3. 5 způsobů, jak použít příkaz move v Linuxu