Linux súkromne i pracovne v2.0: Git

0
Počnúc touto časťou seriálu si aspoň sčasti priblížime distribuovaný systém kontroly verzií súborov vznikajúcich počas vývoja malých či veľkých softvérových projektov s veľmi jednoduchým názvom git (git-scm.com). Systém vytvoril Linus Torvalds v roku 2005 z dôvodu potreby kolaboratívnej práce na linuxovom jadre. Jeho základné vlastnosti sú otvorený kód (open source), podpora vetvenia a spájania (branching & merging), lokálne vykonávanie operácií, rýchlosť, viacnásobné zálohovanie, vysoká úroveň zabezpečenia a integrity údajov či podpora etapového vývoja (staging). Systém git možno v základe využiť na správu verzií pri vývoji menších či väčších aplikácií jedným programátorom. Oveľa robustnejšie je však jeho využitie na koordináciu práce väčšej skupiny osôb. Vtedy je naplno využitá jeho schopnosť súčinnostného (collaborative) vývoja v rámci selektívnych pracovných prúdov (workflows). Kontrola verzií Systémy kontrolujúce, resp. spravujúce verzie súborov uchovávajú konkrétne verzie jedného či viacerých súborov tak, aby sa bolo možné v rôznych časových okamihoch vrátiť k predošlému stavu vývoja, resp. aby bolo možné kód pripravovaný viacerými vývojármi vetviť a následne spájať. Kľúčová vlastnosť je porovnávanie obsahu uchovaných verzií súborov s novo vytvoreným/upraveným kódom a aplikácia vykonaných zmien. Konkrétne ide o spojenie pôvodného obsahu súborov s novým obsahom, ktoré prebieha buď automaticky, alebo manuálne. Dôležitá je takisto schopnosť systémov aplikovať zmeny, ktoré boli vykonané viacerými používateľmi počas ich súbežnej práce na danom projekte. Vo všeobecnosti rozoznávame centralizované a decentralizované systémy kontroly verzií. Centralizované systémy (CVCS) využívajú na správu verzií centrálny server s centrálnym repozitárom. Okrem mnohých výhod majú jednu zásadnú nevýhodu, a síce tzv. jediný bod zlyhania (single point of failure). Pri ňom strata konektivity na centrálny server znemožní akúkoľvek ďalšiu prácu, resp. prácu výrazne obmedzí. Túto nev ...

Marek Sopko

Všetky autorove články
Linux Git

Mohlo by vás zaujímať

Mohlo by vás zaujímať