Nahoru
 

Co je to git a proč ho používat?

Při programování platí, že čím více kódu máme, tím se stává pravděpodobnější, že uděláme nějakou botu. Na velkých projektech přitom zpravidla nepracuje pouze jeden vývojář, ale celý tým. Jak se máme starat o takhle velký projekt vyvíjený mnoha lidmi, abychom minimalizovali počet chyb, a zároveň věděli, kdo co vytvořil a v případě nutnosti se mohli vrátit do předchozí verze aplikace?

Jak již nadpis napovídá, použijeme technologii git. Podle Wikipedie se jedná o distribuovaný systém správy verzí. Pokud jste na tom stejně jako já, tak po této definici nemáte nejmenší tušení, co tím chtěl básník říci. Pokusím se vám git vysvětlit jednodušeji.

Logo gitu
Obrázek č.1: Jakmile pochopíte základní vlastnosti gitu, práce s ním bude jednoduchá.

Vytvoříme program a dovedeme ho funkční fáze. Nyní určitě nechceme při dalších aktualizacích rozbít, co už jsme vytvořili. Jak to ale uděláme? Pomocí kopie celého programu, kterou si uložíme někam bokem? Ano, takto můžeme postupovat, jenže ne vždy se nám povede udělat kopie ve správný okamžik a navíc bychom je dělali často a komplikovali by naší práci. Git toto řeší za nás pomocí tzv. uzlů (z ang. commit).

Abych vám mohl vysvětlit princip uzlů, musíme se nejdříve podívat, jak se pomocí gitu projekt ukládá. Místo, ve kterém pracujeme je tzv. workspace, tedy naše „pracovní místo“. Jedná se o složku sloužící pro práci s aktuálními soubory. Zde git detekuje provedené změny a jakmile se rozhodneme udělat aktualizaci, tak jen všechny „sbalíme“ do jednoho uzlu a pošleme do repozitáře. Tím uděláme novou verzi našeho projektu, avšak všechny předešlé verze (uzly) jsou nám stále dostupné (neodstraní se). Když tedy uděláme velkou chybu, není problém se vrátit o pár uzlů nazpátek.

Nedělejte si kopie projektů, použijte git

Git za nás dokáže vyřešit problém s uchováváním starých verzí projektu. Navíc tyto uzly může nahrávat jakýkoliv člen našeho týmu a my si je poté pouze stáhneme (repozitář tedy funguje jako cloudové uložiště). Nyní máme pro náš projekt systém, který umožňuje jednoduchou práci v týmu a zálohu starých verzí. Už se nám nemůže stát, že někdo nadobro rozbije projekt novou aktualizací, protože se můžeme vrátit zpět.

Porouchané auto
Obrázek č.2: Pomocí gitu se vždy můžete vrátit ke staré verzi aplikace.

Pokud již máte s gitem nějaké zkušenosti, tak jste si pravděpodobně všimli, že vynechávám Staging Area a všechny gitové příkazy. Tento článek se nezabývá tím, jak git používat, ale proč ho používat, a proto využívám každého způsobu, jak vysvětlení zjednodušit. Tutoriálů jak git používat na webu určitě naleznete spousty.

Pokud jste programátor a neznáte git, určitě se ho naučte. Věřte mi, že nebudete litovat. Když to neuděláte teď, uděláte tak při prvním týmovém projektu. Možná při druhém, když při prvním zjistíte, že trávíte spoustu času děláním zálohových kopií a slučováním vašeho kódu a kódu vašeho týmu. Navíc se využívá opravdu všude. Největší platforma pro opensource software se nejmenuje github náhodou.