Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

GitKraken - git gui klient

V tomto článku si ukážeme grafickou nadstavbu pro správu git repozitářů GitKraken a její výhody oproti terminálu a jiným grafickým nadstavbám. Pro úplné pochopení článku se předpokládá základní znalost gitu.

logo GitKraken - Git

GitKraken je multiplatformní git gui klient, který umožňuje uživateli pracovat s repozitáři rychle a přehledně. Pravděpodobně si kladete otázku - proč bych měl použít zrovna GitKraken místo mého oblíbeného git gui klienta? GitKraken nabízí:

  • Interaktivní graf větví, ve kterém se uživatel jednoduše orientuje. Vývojářům se podařilo velmi dobře vyřešit merge větví, které uživatel může spojovat pomocí drag & drop, ale hlavně v případě merge konfliktů poskytuje přehledný nástroj pro jejich vyřešení.
  • Dále umožňuje spravovat více repozitářů, které se otevírají v tabech podobně jako u webových prohlížečů.
  • Berličkou pro začátečníky s gitem může být Undo&Redo funkcionalita, která vás v případě nechtěného commitu (nebo merge) vrátí hned zpět.
  • Samožřejmostí je integrace remote služeb jako GitHub, GitLab, Bitbucket nebo Azure DevOps.
  • GitKraken také obsahuje editor s podporou syntax highlight, souborovou minimapou a mezisouborovým vyhledáváním.

Přehledný interface

interface GitKraken - Git

Moderní a přehledný interface je rozdělen na 4 hlavní části:

  • Levý panel
    • Local & Remote obsahují seznamy všech větví, které jsou v lokálním a remote repozitáři.
    • Tags, Submodules, Stashes - tady asi není třeba nic dodávat - seznam tagů, submodulů a aktivního stashe.
    • Pull Requests zobrazuje aktivní Pull Requesty z GitHubu, Bitbucketu a GitLabu (v tomto případě jde o Merge Requesty), v případě integrace GitHub nebo Bitbucket účtu umožňuje vytváření pull requestů přímo z GUI bez nutnosti použití webového rozhraní.
    • V případě použití Git Flow (což je ve zkratce sada pravidel pro práci s větvemi jako master/develop/re­lease/feature/hot­fix) můžete jednodušeji spravovat tyto větve. Například po ukončení prací na hotfixu za vás GitKraken provede merge/rebase.
  • Graf
    • V levé části se zobrazují větve a tagy, které představují ukazatele na konkrétní commit. Jednotlivé větve se dají skrývat pro lepší přehlednost v grafu. Lze také zobrazit "solo" větev.
    • V pravé části zobrazuje každý řádek jeden commit, vedle kterého jde vidět Commit Message. Commity jsou řazeny od nejnovějších po nejstarší. Každá vertikální čára představuje branch dostupnou v lokálním repozitáři. Na jednom commitu může být více větví, které se zobrazí najetím myši na zobrazenou větev. Může se zde také nacházet Tag.
    • // WIP upozorňuje, že jsou změněny nějaké soubory v repozitáři a tato změna zatím není commitnuta.
    • Stash Node zobrazuje, že ve větvi jsou uložené změny ve Stash oblasti pro pozdější použití.
graph elements v GitKraken - Git
  • Commit Panel
    • Unstage / Stage oblast slouží k rozlišení souborů, které mají být v commitu - umožňuje zobrazení seznamu s cestou k souboru, nebo zobrazení ve stromové adresářové struktuře.
    • U každého souboru se zobrazuje stav pro lepší orientaci. Při kliku na soubor si můžete zobrazit změny v souboru, nebo celý soubor v editoru, kde můžete soubor přímo upravovat.
    • V commit panelu se také zobrazuje seznam souborů, ve kterých nastal konflikt v případě merge dvou větví. Nabízí pak vyřešení konfliktu, kdy přesměruje uživatele do Merge Toolu.
commit symbols v GitKraken - Git
  • Toolbar a ovládací lišta
    • Undo a Redo - umožňuje vracet zpět a vpřed některé akce, jako například nechtěnný commit, nebo merge (například push na remote repozitář nejde vrátit).
    • Pull stáhne změny z remote repozitáře, případně umožňuje po rozkliknutí Fetch All, nebo další možnosti pullu jako fast-forward a rebase.
    • Push nahraje commity na remote repoziřář.
    • Stash uloží změněné soubory, které nebyly commitnuty do stashe.
    • Pop vrátí změněné soubory ze stashe do working directory.
    • Glo Boards otevře nástroj pro správu úkolů a github issues. Tuto část GitKrakenu si popíšeme v samostatném odstavci níže.
    • Taby umožňují otevřít více git repozitářů zároveň a plynule mezi nimi přepínat.

Merge, rebase a merge conflict editor

Merge a rebase pomocí drag & dropu je příjemná vychytávka, ale není problém provádět tyto akce pomocí kliku pravého tlačítka na cílovou větev. V GitKraken můžete interaktivně mergovat i ty větve, na kterých aktuálně nepracujete. Taktéž můžete na ostatních větvích provádět Fetch, Pull a Push bez zbytečného stashování a přepínání větví.

merge tool v GitKraken - Git

Určitě jste se mnohokrát setkali s konflikty při mergování větších větví. Řešení konfliktů umí být někdy velmi zákeřnou činností, u které padají různé expresivní výrazy. Merge conflict editor vám tuto práci usnadní. Přehledně si vyberete, které řádky se mají vložit do výsledku merge. V případě potřeby můžete přímo do editoru vložit další kód, nebo doplňující komentář. Tato funkce je součástí PRO verze.

Pull Requesty

GitKraken nabízí integraci pull requestu (případně merge requestů v případě GitLabu) pro usnadnění a zrychlení práce. V případě propojení se službami jako je GitHub nebo GitLab vám GitKraken nabídne vytváření nových pull requestů přímo z GUI. Již existující pull requesty můžete spravovat přímo v aplikaci bez nutnosti použití webového rozhraní. Využít se dají také assignee a labely.

OAuth integrace

GitKraken můžete propojit pomocí OAuth se službami jako GitHub, GitLab, Bitbucket, nebo Azure DevOps. V případě GitLabu není problém služby propojit i na self-hosted instancích. Pokud budete například chtít naklonovat projekt, nebo budete chtít přidat remote repozitář, tak vám GitKraken nabídne přístup na služby, které máte připojeny.

Glo Issues Boards

merge tool v GitKraken - Git

Glo Boards slouží k organizaci a trackování tasků nebo issues. Jednotlivé tasky se dají spravovat v kalendářovém zobrazení, nebo případně v tabulkovém módu. Mezi tasky se dá jednoduše vyhledávat/fil­trovat, tasky se dají přidělovat členům teamu a dají se dělit na privátní nebo veřejné. Popisy tasků podporují Markdown, je možné si v nich vytvářet checklisty, labely, připojit přílohy formou souborů a aktivitu tasků můžete sledovat přes notifikace. Glo Boards mají také svou vlastní mobilní aplikaci, takže s nimi jde pracovat i mimo PC. S použitím GitHub integrace můžete spravovat issues přes GitKraken Glo Boards a změny provádět v reálném čase z GitKrakenu do GitHub webového rozhraní.

Důvody proč použít GitKraken

Už jsme si dostatečně popsali funkcionality GitKrakenu a teď si shrneme, proč byste měli dát GitKrakenu šanci:

  • GitKraken je multiplaftormní (Mac, Linux, Windows)
  • mezi hlavní výhody patří přehledný graf
  • merge/rebase větví pomocí drag & drop, u kterých vás nezaskočí žádný merge konflikt díky merge conflict editoru
  • jednoduchá správa a integrace webových remote služeb jako je GitHub, GitLab
  • další funcionalita undo/redo pro vrácení předešlé akce
  • možnost správy více repozitářů v tabech
  • samozřejmostí jsou také klávesové zkratky, nebo light/dark theme
  • velmi užitečným nástrojem může být Glo Issue Boards pro správu úkolů, nebo správu issues z připojeného GitHubu
  • můžete se také těšit na časté aktualizace

Pro pořádek si uvedeme i nevýhody:

  • i když má GitKraken free verzi, tak si pro použítí musíte vytvořit GitKraken účet
  • free verze je také omezena na nekomerční použití, z toho také plyne, že se nejedná o open-source projekt
  • někteří uživatelé si v dřívějších verzích stěžovali na paměťovou náročnost (ale já jsem se s tím po roce používání nikdy nesetkal)
  • taktéž byla softwaru vyčítána rychlost, na kterou se ve verzi 6 zaměřili a aktuálně je GitKraken rychlý jako blesk :)

Závěr

Všechny informace jsem čerpal z vlastních zkušeností a dokumentace GitKrakenu (odsud pochází i většina obrázků). Pokud byste chtěli využít PRO verzi, tak přikládám svůj referal link níže. Věřím, že se vám bude GitKraken líbit a ulehčí vám práci na vašich projektech :)

Můj referal link pro registraci


 

Předchozí článek
Kvíz - Git
Všechny články v sekci
Git
Článek pro vás napsal Martin Gabriel
Avatar
Uživatelské hodnocení:
6 hlasů
Autor se věnuje softwarovému vývoji a produktovému designu
Aktivity