🟢 Beginner

Git — Verzionovanie kódu

Git je distribuovaný systém na správu verzií kódu. Vytvoril ho Linus Torvalds v roku 2005 pre vývoj Linux kernelu. Dnes je absolútnym štandardom vo vývoji softvéru.


Prečo Git?

  • Distribuovaný — každý vývojár má úplnú kópiu repozitára
  • Rýchly — operácie sú lokálne a takmer okamžité
  • Branching — lacné a rýchle vytváranie vetiev
  • Integrita — každý commit je identifikovaný SHA-1 hashom

Základné koncepty

Repository — priečinok s históriou verzií projektu.

Commit — snapshot zmien s popisom, autorom a časovou pečiatkou.

Branch — nezávislá vetva vývoja. main je zvyčajne hlavná vetva.

Merge — spojenie dvoch vetiev do jednej.

Remote — vzdialený server (GitHub, GitLab, Bitbucket).

Pracovný flow

# Nový feature
git checkout -b feature/login-page
# ... práca na kóde ...
git add .
git commit -m "feat: add login page"
git push origin feature/login-page
# Vytvorte Pull Request → review → merge

Základné príkazy

git init                    # inicializácia repozitára
git clone <url>             # klonovanie
git status                  # stav zmien
git add .                   # pridanie do staging
git commit -m "správa"      # commit
git push origin main        # odoslanie na remote
git pull                    # stiahnutie zmien
git branch                  # zoznam vetiev
git checkout -b <vetva>     # nová vetva
git merge <vetva>           # spojenie vetiev
git log --oneline           # história commitov
git stash                   # dočasné odloženie zmien

Branching stratégie

  • Git Flow — feature, develop, release, hotfix vetvy
  • GitHub Flow — main + feature vetvy, PR-based
  • Trunk-Based — krátke vetvy, časté mergy do main

Konvencie commitov

feat: nová funkcionalita
fix: oprava chyby
docs: zmena dokumentácie
refactor: refaktoring kódu
test: pridanie testov
chore: údržba, dependency update

.gitignore

Súbor definujúci, čo sa nemá verzionovať:

node_modules/
.env
*.log
dist/
.DS_Store

Git je základný nástroj DevOps — bez neho by CI/CD, code review ani Infrastructure as Code nemohli existovať.