Obsah

Verzování kódu a Git

Verzování kódu (Version Control System – VCS) je systém, který zaznamenává změny v souborech v průběhu času. Umožňuje programátorům pracovat na stejném kódu současně, spravovat různé verze aplikace (např. stabilní verze vs. vývojová) a dohledat, kdo, kdy a proč provedl konkrétní změnu.

1. Typy systémů pro správu verzí

Lokalizované (Local VCS)

Jednoduché databáze v počítači uživatele. Riziko ztráty dat při poruše disku.

Centralizované (CVCS)

Jeden centrální server (např. Subversion - SVN), kde jsou uloženy všechny verze. Uživatelé si stahují pouze aktuální verzi.

Distribuované (DVCS)

Každý uživatel má v počítači kompletní kopii celého projektu včetně celé jeho historie. Git je nejznámějším zástupcem.


2. Co je to Git?

Git vytvořil Linus Torvalds (tvůrce Linuxu) v roce 2005. Je to open-source nástroj, který se stal celosvětovým standardem pro vývoj softwaru.

Tři stavy souboru v Gitu:

3. Základní pojmy a příkazy

Pojem Popis Příkaz
Repository (Repo) Adresář s projektem sledovaný Gitem. git init
Clone Stažení existujícího projektu z internetu. git clone [URL]
Commit „Snímek“ stavu projektu v daný čas. git commit -m „Zpráva“
Branch (Větev) Izolovaná linka vývoje (např. pro novou funkci). git branch [název]
Merge Sloučení změn z jedné větve do druhé. git merge [název]
Push / Pull Odeslání změn na server / stažení změn ze serveru. git push / git pull

4. Větvení (Branching) a spolupráce

Nejsilnější stránkou Gitu je práce s větvemi. Vývojář si vytvoří vlastní větev (např. feature-login), kde pracuje, zatímco hlavní větev (main nebo master) zůstává stabilní.

Pull Request (Merge Request)

Proces, kdy vývojář požádá o sloučení své větve do hlavní větve. Ostatní členové týmu mohou kód zkontrolovat (Code Review), napsat připomínky a teprve po schválení se kód sloučí.


5. Platformy pro hostování Gitu

Zatímco Git je samotný nástroj (běžící v příkazové řádce), existují webové služby, které k němu přidávají grafické rozhraní a nástroje pro týmovou spolupráci:


6. Strategie verzování (Git Flow)

V profesionálních týmech se používají pravidla, jak větve pojmenovávat a kdy je slučovat:


Související články:

Tagy: dev git github version_control programming team_collaboration devops