Git (Správa verzí)

Git funguje jako „stroj času“ pro váš kód. Umožňuje ukládat historii změn, vracet se k předchozím verzím a pracovat na více funkcích současně, aniž byste si vzájemně přepisovali práci.

1. Základní principy

Na rozdíl od starších systémů je Git distribuovaný. To znamená, že každý vývojář má v počítači kompletní kopii celého projektu i s jeho historií, nejen aktuální verzi.

Tři stavy souboru v Gitu

Než se změna trvale uloží, prochází těmito fázemi:

1. **Working Directory (Pracovní adresář):** Soubory, které právě upravujete.
2. **Staging Area (Index):** "Přípravna" pro soubory, které chcete zahrnout do příštího uložení.
3. **Repository (Local):** Trvalé uložení změn v lokální databázi (tzv. **commit**).

2. Klíčové pojmy

Repository (Repo): Složka projektu spravovaná Gitem (obsahuje skrytou složku .git).

Commit: „Snímek“ stavu projektu v daný čas. Každý commit má unikátní ID (hash) a zprávu s popisem změn.

Branch (Větev): Nezávislá linie vývoje. Hlavní větev se obvykle jmenuje main nebo master.

Merge: Sloučení dvou větví dohromady (např. když dokončíte novou funkci a chcete ji přidat do hlavní aplikace).

3. Základní příkazy v terminálu

Příkaz	Význam
git init	Vytvoří nové prázdné repository v aktuální složce.
git add .	Přidá všechny změněné soubory do Staging Area.
git commit -m „Zpráva“	Trvale uloží změny s popisem.
git status	Ukáže, které soubory jsou změněné a v jaké fázi se nacházejí.
git log	Vypíše historii všech uložených změn (commitů).

4. Spolupráce (Remote)

Pro sdílení kódu s ostatními se používají vzdálené servery (Remote Repositories), jako jsou GitHub, GitLab nebo Bitbucket.

Push: Odeslání vašich lokálních commitů na server.

Pull: Stažení nejnovějších změn od kolegů ze serveru do vašeho počítače.

Clone: Stažení kompletního existujícího projektu ze serveru poprvé.

5. Proč je Git nepostradatelný?

Bezpečnost: Můžete experimentovat. Pokud něco rozbijete, jedním příkazem se vrátíte k funkční verzi.

Týmová práce: Git dokáže automaticky spojit změny od deseti lidí, pokud neupravovali stejný řádek kódu. Pokud ano, nahlásí Conflict, který vývojář ručně vyřeší.

Dokumentace: Díky historii přesně víte, kdo, kdy a proč danou změnu v kódu udělal.

Zajímavost: Linus Torvalds pojmenoval Git podle britského slangového výrazu pro „protivného nebo hloupého člověka“. S nadsázkou říkal: „Jsem egoista, takže všechny své projekty pojmenovávám po sobě. Nejdřív Linux, teď Git.“

Zpět na IDE