Neternity.cz

7 důvodů proč byste měli mít rádi Git

Estimated reading time: 6 minuty by neternity 27. Listopad 2015 v rubrice Novinky

Git je jako tužka pro architekta, navigace pro řidiče kamionu nebo čelovka pro horníka. Můžete fungovat i bez tužky, navigace nebo čelovky, ale jakmile jednou poznáte práci s těmito nástroji, budete se ptát, jak jste mohli žít bez nich. S Gitem je to podobně. Je možné se bez něj při vývoji software obejít, ale jakmile ho okusíte, nebudete chtít jinak.

Co je tedy Git? Git je distribuovaný verzovací nástroj. Ale nebojte, nebudu vás zde zatěžovat odbornými termíny nebo programátorskou hantýrkou vzývající božské vlastnosti Gitu. Od toho jsou tu jiní. My se na Git podíváme trochu jinou optikou.

Ale než mi utečete, něco vám poradím. Jste-li v pozici zadavatele a pokud právě hledáte zhotovitele systému, webu či aplikace, pak si dejte do podmínek, že vybraný dodavatel musí používat Git (či jiný verzovací systém). A dále naznačím, proč.

  Kooperace

Zaklínadlo, které jste určitě slyšeli už stokrát. Tak po sto první – při jakékoliv tvůrčí činnosti se vyplatí spolupracovat. Tým, který spolupracuje, je úspěšnější, než množina individualistů. Jenže zkusili jste někdy pracovat na psaní jedné aplikace společně ještě s někým dalším? Není to tak jednoduché, jak by se mohlo na první pohled zdát. To si tak napíšete svou funkci, opečováváte ji a jste s ní spokojení. Tak dlouho, než vám ji někdo přepíše. Samozřejmě v dobré víře. A pak se dva dny hádáte, kdo to udělal. Ne tak s Gitem. Kdybychom měli najít synonymum pro Git, bylo by to rozhodně slovo kooperace. Git podporuje distribuovaný vývoj na mnoha místech, dokonce i když dotyčný vývojář není on-line. Git umí spojovat kód více lidí do jednoho, umí porovnávat a zobrazovat rozdíly. A umí se vracet v čase, ale o tom dále.

  Usvědčíte viníka

Už víme, že dnes už se nedá psát software jako one man show. Potřebujete tým. Kromě vývojáře třeba testera, analytika a nebo nedej bože ještě další(ho) vývojáře. A právě v případě, kdy se na vývoji podílí reálně více lidí, poznáte sílu Gitu. Každý účastník programuje na své vlastní lokální kopii a změny (to jsou takové vlastní bábovičky) pomocí Gitu přenáší do společného repozitáře (něco jako společné pískoviště všech vývojářů). Všechny tyto úkony jsou Gitem velice pečlivě sledovány a zaznamenávány. Nemůže uniknout jediné písmenko napsaného kódu. Co z toho vyplývá? Kdykoliv se můžete podívat, kdo, kdy a co v kódu provedl. Objevila se v aplikaci staronová chyba? Rozbilo se něco po posledním commitu? (commit si představte jako vyklopení bábovičky s kódem na společné pískoviště nebo jako sadu oprav ostatních báboviček)  Nevadí. Kromě toho, že se můžete vrátit zpět k předchozí verzi (vizte bod 4), tak snadno zjistíte, kdo byl strůjcem toho neštěstí. A klidně můžete viníka lynčovat. Nebo nemusíte. Mnohem lepší je, když se z té chyby poučí(te).

   I šéf se rád podívá

Je váš šéf mikromanažer, bývalý vývojář a nebo prostě jen magor, který si myslí, že když vám bude koukat na váš kód, tak tím sníží riziko vzniku chyby? (ano, máte správný pocit, opak je pravdou) Při běžném vývoji software by nápad, vpustit šéfa ke zdrojáku, představovalo značné riziko. Ne tak v době Gitu. Dejte mu v GitLabu (Git není GitLab) read-only přístup k projektům, které ho zajímají. Nemůže napáchat žádné škody, ale bude mít ten správný mám-to-pod-kontrolou pocit a bude spokojen. A kdo by nechtěl mít spokojeného šéfa?

4   Do budoucnosti a zase zpátky

Git je též takovým novodobým strojem času. Zatímco dříve jste od programátora často slyšeli větu “radši si to nejdřív někam zazálohuju, než to přepíšu”, s Gitem za zády může programátor programovat a nemusí se bát, že přijde o to, co si právě přepsal. Návrat k předchozí verzi po nepovedeném refaktoringu, náhlým hnutím mysli či útoku na vlastní kód pod vlivem včerejšího ovínění, je dnes otázkou pouhých několika vteřin. Jestli se vám to zdá moc složité a neuchopitelné, nezoufejte, autorovi tohoto článku též. Mnohem důležitější je, že možnost vrátit se zpět a zkoumat změny, významně zkvalitňuje vývoj software a zrychluje odhalování chyb.

5   Je dobré být na správné větvi

A to ještě není vše. Jestli se někomu zdálo, že cestování v čase v Gitu je přehnaná básnická licence, pak vězte, že Git umí vytvářet a spojovat různé větve vývojového kódu. Programátor může mít rozpracováno několik verzí téže aplikace a ve vhodné chvíli zvolit jednu, kterou bude dále rozvíjet a udělá z ní hlavní. Hezké, že? Ale k čemu to je? Představte si, že chcete v přidat do aplikace novou funkci, ale zároveň potřebujete průběžně opravovat původní verzi. Jeden programátor tedy nerušeně na své větvi vyvíjí novou funkci a jeho kolega dále může řešit v hlavní větvi nalezené chyby. Jakmile je nová funkce otestována, provede se spojení obou verzí do nové. Hotovo.

→ Cítíte v tom také tu nesnesitelnou lehkost vývoje aplikace? ←

 

6  Git stručně

Pokud vám to ještě nestačilo, pak ještě přidám několik krátkých postřehů:

  • Git nenutí programátorům způsob programování
  • Git neopraví chyby, ale umožní snadnou orientaci ve změnách
  • Git má za úkol automatizovat určité činnosti související s vývojem aplikací, na které se většinou zapomíná
  • Git je spolehlivý
  • Git není jen buzzword, ale reálně zvyšuje efektivitu vývoje aplikací
  • Git mají programátoři rádi
  • Git využijete při vývoji webové, mobilní i desktopové aplikace

 

7 Git je hit

Ooohmm, Commit!