Verzování neboli ukládání verzí známe již u samotných souborů. Soubory často ukládáme jako názvy s daty vytvoření nebo číslem verze.
- dokument v1.docx
- dokument v2.docx
- dokument final.docx
- dokument 13-09-2024.docx
- a podobně.
<aside>
💡
Tento styl ukládání/verzování je běžnou praxí při práci se soubory, v kódu však ne!
</aside>
Toto ukládání není zrovna vhodné pro psaní kódu, protože vám vznikají duplicity, které mohou zabírat až TB dat, nemluvě o faktu, že je to značně nepřehledné, protože nevíte co se kdy stalo v jakém souboru.
Pro verzování existuje řada různých řešení, tou nejčastěji využívanou v programování je Git.
Git
Git je distribuovaný systém pro správu verzí, který umožňuje sledování změn v souborech a koordinaci práce na projektech mezi více lidmi. Byl vytvořen v roce 2005 Linusem Torvaldsem, původně pro vývoj linuxového jádra, a od té doby se stal jedním z nejrozšířenějších nástrojů pro verzování kódu.
<aside>
💡
Git se nejvíce hodí pro práci s textovými soubory / kódem. Lze ho však využít i na tvorbu videí, hudby, prezentací atd…
</aside>
https://www.youtube.com/watch?v=0v5K4GvK4Gs
Oficiální ORBIS GitHub Účet
ORBIS
Oficiální Osobní GitHub Účet
jakubforman - Overview
Hlavní výhody Git
- Distribuovaný systém: Každý vývojář má lokální kopii celého repozitáře, což znamená, že lze provádět změny, prohlížet historii a pracovat offline.
- Zpětná sledovatelnost: Git umožňuje prohlížet historii změn, identifikovat, kdy byly provedeny určité úpravy, a zjistit, kdo za nimi stojí.
- Zpětná kompatibilita: Git umožňuje vracet se ke starším verzím kódu, což usnadňuje opravy a údržbu projektů.
- Branching: Git umožňuje vytvářet větve (branches), což podporuje paralelní vývoj více funkcí či oprav bez toho, aby se navzájem ovlivňovaly.
- Podpora spolupráce: Díky nástrojům jako GitHub nebo GitLab je spolupráce na projektu mezi více vývojáři efektivní a přehledná.
Základní pojmy Git
- Repozitář (repository): Místo, kde jsou uloženy soubory a historie jejich změn.
- Commit: Záznam změn, který uchovává stav projektu v určitém okamžiku.
- Branch (větev): Izolovaná verze kódu, kterou lze samostatně upravovat a následně sloučit zpět do hlavní větve.
- Merge: Proces spojení změn z jedné větve do druhé.
- Pull: Stažení nejnovějších změn z repozitáře.
- Push: Odeslání lokálních změn do vzdáleného repozitáře.