Čo je Git?
Dnes je väčšina projektov vývoja softvéru spoločným úsilím. Na týchto projektoch môžu pracovať stovky alebo tisíce ľudí. Preto je sledovanie zmien nevyhnutnosťou pre plynulejšiu spoluprácu. Git je systém riadenia distribuovanej verzie open-source, ktorý sleduje softvérové aktíva a pomáha prevádzkovať efektívnejšie vývojové procesy.
Čo je to systém riadenia verzií?
Keď vývojári pracujú na softvéri, musia mať prehľad o svojich zmenách. Systém riadenia verzií (VCS) si pamätá verzie softvéru, keď prechádza rôznymi fázami vývoja. Práca so systémom riadenia verzií má nasledujúce výhody:
- Dlhodobá história: Systémy na správu verzií udržiavajú históriu kto, čo a kedy vykonal akékoľvek úpravy softvérového kódu. Táto história je cenným zdrojom na vyhľadanie akejkoľvek chyby v softvéri. Ak dôjde k problémom s novým kódom, môžete sa kedykoľvek vrátiť k starším verziám.
- Rozvetvenie a zlúčenie: Väčšina ovládacích prvkov verzie má možnosti vetvenia a zlúčenia. Takže vývojové tímy môžu rozdeliť prácu do viacerých prúdov a súčasne pracovať na rôznych aspektoch projektu.
- Sledovateľnosť: Správa verzií poskytuje vývojárom spôsob, ako ľahko a spoľahlivo sledovať chyby a problémy v softvéri. Znižuje to zmätok. Vytvára efektívne a transparentné prostredie pre spoluprácu.
Git - Riadenie distribuovanej verzie
Spočiatku bola väčšina systémov na správu verzií centralizovaná. V centralizovanom modeli by sa informácie o riadení verzií, ako je autorstvo, dátum, čas a informácie o úpravách, udržiavali na centralizovanom serveri alebo databáze. Problém tohto modelu spočíval v tom, že vývojové tímy boli obmedzené výkonom alebo prenosom centrálneho servera. Po výpadku centrálneho servera by bol celý systém v kľude.
V distribuovanom systéme riadenia verzií (DVCS) sa informácie o verzii uchovávajú s každou kópiou kódu. Umožňuje zdieľanie peer-to-peer. Centralizované úložisko nie je potrebné (aj keď je možné ho zriadiť).
Krátka história Gitu
Git začal trochu kontroverzne ako akt pomsty. V roku 2002 začala linuxová komunita bezplatne používať proprietárny distribuovaný systém riadenia verzií BitKeeper. Ale v roku 2005 sa vzťah medzi linuxovou komunitou a BitKeeper rozpadol, keď bol zrušený status slobodného použitia. Takže Linus Torvalds, tvorca Linuxu, začal vyvíjať Git ako produkt typu open-source. V tom roku bola vydaná prvá verzia Gitu. Dnes je Git najpopulárnejším systémom na správu verzií.
Klady a zápory Gitu
Git je jednoduchý a výkonný systém riadenia distribuovanej verzie s nasledujúcimi výhodami a nevýhodami:
Pros
Výkon: Väčšina vývojových tímov sa sťahuje do Gitu kvôli výhodám výkonu. Potvrdenia, rozvetvenie a zlúčenie je v Gite rýchlejšie ako centralizované systémy riadenia verzií ako CVS, SVN alebo Perforce. Distribuovaná povaha softvéru tiež uľahčuje vývojárom zdieľať prácu peer-to-peer. Tento proces je rýchlejší ako získanie kódu z centrálneho servera.
Zabezpečenie: Integrita kódu sa ľahšie overuje na Gite. Využíva kryptograficky bezpečný hash SHA1. Hodnoty hash sú pre každú modifikáciu jedinečné. Ak niekto zmení modifikáciu, hodnoty hash sa nezhodujú. Táto vlastnosť Gitu sťažuje komukoľvek skrytú zmenu kódu.
Flexibilita: Git bol navrhnutý tak, aby sa prispôsobil akémukoľvek pracovnému toku. Systémy staršej verzie sú prísnejšie. Ale Git dáva vášmu tímu viac voľnosti. Môžete dokonca vytvoriť centralizovaný pracovný tok alebo sa integrovať s inými systémami riadenia verzií, aby vaše staršie systémy fungovali.
Zápory
Ťažšie sa učiť: Koncepty Git nie sú vždy intuitívne. Ostatné systémy na správu verzií využívajú prístup založený viac na používateľskom rozhraní. Komunita Git má tendenciu uprednostňovať príkazový riadok. Pre netechnických používateľov je teda náročnejšie sa učiť.
Nostalgia pre centralizované riadenie verzií: Firmy niekedy s používaním Gitu váhajú, pretože neexistuje centralizovaná kontrola. Ak však potrebujete centralizované úložisko, môžete kedykoľvek navrhnúť pracovný tok, ktorý ho implementuje.
Záver
Git stúpol na popularite vďaka hodnote, ktorú pridáva vývojovému tímu. Aj keď na projekte pracujete sami, spoľahlivá história vám môže ušetriť veľa času. Git je bezplatný a užitočný nástroj pre akýkoľvek projekt vývoja softvéru.
Ďalšie štúdium:
Webová stránka Git
Základy Gitu
GitHub - hostiteľská stránka Git
BitBucket - hostiteľská stránka Git
Referencie:
- https: // www.atlassian.com / git / tutorials / what-is-version-control
- https: // www.atlassian.com / git / tutorials / what-is-git
- https: // git-scm.com / book / en / v2 / Getting-Started-A-Short-History-of-Git
- https: // git-scm.com / book / en / v2 / Getting-Started-Git-Basics
- https: // github.com /