Git

Čo je Git?

Čo je Git?

Č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:

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:

Hry Open source porty komerčných herných strojov
Open source porty komerčných herných strojov
Na hranie starých i niektorých z nedávnych herných titulov je možné využiť bezplatné hry s otvoreným zdrojom a multiplatformové herné enginy. V tomto ...
Hry Najlepšie hry z príkazového riadku pre systém Linux
Najlepšie hry z príkazového riadku pre systém Linux
Príkazový riadok nie je pri použití systému Linux iba vaším najväčším spojencom - môže byť tiež zdrojom zábavy, pretože ho môžete použiť na hranie mno...
Hry Najlepšie aplikácie na mapovanie gamepadu pre Linux
Najlepšie aplikácie na mapovanie gamepadu pre Linux
Ak radi hráte hry v systéme Linux s gamepadom namiesto typického systému vstupu pre klávesnicu a myš, máte tu niekoľko užitočných aplikácií. Mnoho hie...