Verzování kódu v profesionálním prostředí používá dnes asi každý a git je nejvíce k tomu používaným softwarem.
Díky verzováním si můžeme uložit původní verzi a pak si ukládat veškeré změny přehledně a hlavně s možností se vrátit. Takže odpadá všemi známé: uložit soubor jako final, final2, final_final atd. Každá změna zaznamenaná gitem neboli “commit”, se uloží podle jména a času, takže se nestane, že se objeví změna o které nic nevíte a nemůžete to shodit na někoho. Můžete si vytvořit verzi s novou funkcionalitou a volně přepínat v čase kdy jste ji ješte nepřidali nebo jí úplně vymazat.(neboli branch)
Git má neuvěřitelně mnoho užitečných funkcí a tímto postem jen ukazuji špičku ledovce, ale i s jen s těmito základy si programátor ulehčí práci jak sám, tak i v týmu.
Git byl vytvořený v 7. dubna 2005 jako open-source program, počítačovým mágem Linusem Torvaldesm(ten co napsal linux kernel), chtěl totiž nahradit software BitKeeper který byl closed source. V roce 2008 byla založena platforma GitHub, která umožňuje hostovat Git repozitáře online. To vedlo k obrovské popularitě Gitu a usnadnilo spolupráci na projektech.
Rozšíření Gitu: Git se stal standardem pro správu verzí a používá se v mnoha oblastech vývoje softwaru a dalších odvětvích
Asi každý zažil ve školních letech když musel spolupracovat se spolužáky ve stejném týmu. Možná se vaše krev se právě vaří nad vzpomínkama když jste se hádaly o vašem postupu. Jak se to vyřešilo? Ať si každý připíše co chce a pak se prezentujeme učitelce jako koláž nápadů? To asi ne, spíš jste vybraly, lídra a on pomalu přidával změny sám když ostatní jen koukali.
Co ale kdyby to šlo jinak ? Tedy aby si mohl si každý z týmu pracovat na své části a pak se to spojilo? Tedy změny by nebyly centralizované, ale distribuvané.
Přestavte si že každý dělá doma na prezentaci a každý má svoji verzi. A někde na serveru třeba u učitelky bude hlavní verze(remote).
Pokud bude chtít udělat změnu stačí si stáhnout poslední verzi z remotu a začít ji měnit, žák si každou změnu sám podepíše aby se vědělo kdo to napsal a buď se změna jen zatím uloží lokálně a nebo se pošle rovnou na remote.
Zde někdo s dostatečným oprávněním si může tuto změnu odmítnout, nebo jí nechat přepsat hlavní verzi, říká se tomu merch.
Co ale když dva studenti udělají změnu na steném místě ?
Kterou změnu má havní verze vzít za svou ? Tomu se říká merge conflikt pak se musí pečlivě rozhodnout co se tam má nechat. pozn. merge konflikty patří k nejhorší věcí na práci s gitem, nejlepší je vůbec nedělat.
Co ale pokud budete mít bujarejší cíle a chcete si napsat prezentaci jak pro učitelku tak pro soutěž kde budete mluvit o více věcech nech ve škole.
Stačí si vytvořit branche(větve) s názvem škola a soutěž a kdykoliv si stačí z nich přepínat.
Takže prezentace s více informací bude v branchi “soutěž “a verze s méně bude ve “škola”
V tomto blogovém příspěvku jsme prozkoumali základy Gitu, nástroje pro správu verzí a spolupráci na projektech. Pochopili jsme význam větví, základní operace a řešení konfliktů. Git je nepostradatelným nástrojem pro vývojáře a týmy, ať už jste začátečníkem nebo pokročilým. Děkujeme za čtení a těšíme se na další objevování světa Gitu!