Uživatelské nástroje

Nástroje pro tento web


it:dev:git

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.

  • Nevýhoda: Pokud server vypadne, nikdo nemůže ukládat změny ani prohlížet historii.

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.

  • Výhoda: Práce je možná offline, operace jsou bleskové a systém je vysoce odolný proti ztrátě dat.

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:

  • Modified: Soubor byl změněn, ale změna ještě není uložena v historii.
  • Staged (Index): Soubor je označen k uložení do příští verze (příprava na „commit“).
  • Committed: Změny jsou bezpečně uloženy v lokální databázi 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:

  • GitHub: Nejpopulárnější platforma, domov většiny open-source projektů.
  • GitLab: Silný nástroj s důrazem na CI/CD automatizaci.
  • Bitbucket: Často používaný ve firmách (integrace s nástrojem Jira).

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:

  • Main: Vždy stabilní kód připravený k vydání.
  • Develop: Místo, kde se integrují nové funkce.
  • Hotfix: Větve pro okamžitou opravu kritických chyb v produkci.

Související články:

Tagy: dev git github version_control programming team_collaboration devops

it/dev/git.txt · Poslední úprava: autor: admin