## Základy GITu pre začiatočníkov vo webovom vývoji👶
## Čo je `Git`?
1. Git je distribuovaný systém na správu verzií.
2. Celá kódová základňa a história sú dostupné na počítači každého vývojára, čo umožňuje jednoduché vetvenie a zlúčenie.
3. Používa sa ako systém na správu verzií (VCS) na sledovanie zmien v počítačových súboroch.
* Distribuovaná správa verzií
* Koordinuje prácu medzi viacerými vývojármi
* Kto urobil aké zmeny a kedy
* Možnosť návratu kedykoľvek
* Lokálne a vzdialené repozitáre
## KONCEPTY GITu
* Sleduje históriu kódu
* Robí "snímky" vašich súborov
* Vy rozhodujete, kedy urobiť snímku, vytvorením "commitu"
* Môžete navštíviť akúkoľvek snímku kedykoľvek
* Môžete pripraviť súbory pred commitom
### Rozdiel medzi Git a GitHub
| Git | GitHub |
| ------- | ----------- |
| Git je softvér | GitHub je cloudová služba |
| Git je nainštalovaný lokálne na systéme | GitHub je hostovaný na webe |
| Je to nástroj príkazového riadku | Je to grafické rozhranie |
| Git je spravovaný Linuxom | GitHub je spravovaný Microsoftom |
| Zameriava sa na správu verzií a zdieľanie kódu | Zameriava sa na centralizované hosťovanie zdrojového kódu |
| Git je open-source licencovaný | GitHub obsahuje bezplatnú a platenú verziu |
| Git bol vydaný v roku 2005 | GitHub bol vydaný v roku 2008 |
## Inštalácia GITu
* Linux (Debian)
`$sudo apt-get install git`
* Linux (Fedora)
`$sudo yum install git`
* [Stiahnuť](http://git-scm.com/download/mac) pre Mac
* [Stiahnuť](http://git-scm.com/download/win) pre Windows
### Kroky inštalácie:
1.
2.
3.
4.
5.
6. Potom pokračujte ďalej > Ďalej > Ďalej > Inštalovať
7.
### Po inštalácii je potrebné nakonfigurovať Git pomocou Git Bash
1. `git config --global user.name 'VašeMeno'`
2. `git config --global user.email 'VášEmail'`
___
## Príkazy GITu
___
### Získanie a vytvorenie projektov
| Príkaz | Popis |
| ------- | ----------- |
| `git init` | Inicializuje lokálny Git repozitár |
| `git clone ssh://git@github.com/[username]/[repository-name].git` | Vytvorí lokálnu kópiu vzdialeného repozitára |
### Základné snímkovanie
| Príkaz | Popis |
| ------- | ----------- |
| `git status` | Skontroluje stav |
| `git add [file-name.txt]` | Pridá súbor do staging oblasti |
| `git add -A` | Pridá všetky nové a zmenené súbory do staging oblasti |
| `git commit -m "[commit message]"` | Uloží zmeny |
| `git rm -r [file-name.txt]` | Odstráni súbor (alebo priečinok) |
| `git push` | Nahraje zmeny do vzdialeného repozitára |
| `git pull` | Stiahne najnovšie zmeny zo vzdialeného repozitára |
### Vetvenie a zlúčenie
| Príkaz | Popis |
| ------- | ----------- |
| `git branch` | Zobrazí zoznam vetiev (hviezdička označuje aktuálnu vetvu) |
| `git branch -a` | Zobrazí všetky vetvy (lokálne a vzdialené) |
| `git branch [branch name]` | Vytvorí novú vetvu |
| `git branch -D [branch name]` | Odstráni vetvu |
| `git push origin --delete [branch name]` | Odstráni vzdialenú vetvu |
| `git checkout -b [branch name]` | Vytvorí novú vetvu a prepne sa na ňu |
| `git checkout -b [branch name] origin/[branch name]` | Naklonuje vzdialenú vetvu a prepne sa na ňu |
| `git branch -m [old branch name] [new branch name]` | Premenuje lokálnu vetvu |
| `git checkout [branch name]` | Prepne sa na vetvu |
| `git checkout -` | Prepne sa na poslednú použitú vetvu |
| `git checkout -- [file-name.txt]` | Zruší zmeny v súbore |
| `git merge [branch name]` | Zlúči vetvu do aktívnej vetvy |
| `git merge [source branch] [target branch]` | Zlúči vetvu do cieľovej vetvy |
| `git stash` | Uloží zmeny v nečistom pracovnom adresári |
| `git stash clear` | Odstráni všetky uložené položky |
### Zdieľanie a aktualizácia projektov
| Príkaz | Popis |
| ------- | ----------- |
| `git push origin [branch name]` | Nahraje vetvu do vzdialeného repozitára |
| `git push -u origin [branch name]` | Nahraje zmeny do vzdialeného repozitára (a zapamätá si vetvu) |
| `git push` | Nahraje zmeny do vzdialeného repozitára (zapamätaná vetva) |
| `git push origin --delete [branch name]` | Odstráni vzdialenú vetvu |
| `git pull` | Aktualizuje lokálny repozitár na najnovší commit |
| `git pull origin [branch name]` | Stiahne zmeny zo vzdialeného repozitára |
| `git remote add origin ssh://git@github.com/[username]/[repository-name].git` | Pridá vzdialený repozitár |
| `git remote set-url origin ssh://git@github.com/[username]/[repository-name].git` | Nastaví URL vzdialeného repozitára na SSH |
### Inšpekcia a porovnanie
| Príkaz | Popis |
| ------- | ----------- |
| `git log` | Zobrazí zmeny |
| `git log --summary` | Zobrazí zmeny (podrobne) |
| `git log --oneline` | Zobrazí zmeny (stručne) |
| `git diff [source branch] [target branch]` | Náhľad zmien pred zlúčením |
---
**Upozornenie**:
Tento dokument bol preložený pomocou služby AI prekladu [Co-op Translator](https://github.com/Azure/co-op-translator). Hoci sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho rodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nenesieme zodpovednosť za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.