Cheatsheet¶
- git init
- inicializace repozitáře
- git clone
- vytvoření lokální kopie ze vzdáleného repozitáře
- git commit
Uložení lokálních změn do lokálního repozitáře
Asi nejdůležitější a nejčastěji používaný příkaz
- git branch
- Vytváření nové větve (správa větví)
- git merge
- sloučení změn z druhé větve do aktuální
- git checkout
- Přepnutí se do jiné branche, na jiný commit, na jiný tag
- git fetch
- Stažení změn ze serveru
- git rebase
- Přeskládání aktuální práce nad nový základ (např. nad změny stažené před tím ze serveru pomocí git fetch)
- git push
- poslání lokálních změn na vzdálený server
- git pull
- alternativní stažení změn ze serveru spolu s mergováním konfliktů mezi lokální a vzdálenou větví
- git remote
- správa vzdálených repozitářů
Typické workflow¶
Bez větví¶
Klonování existujícího repozitáře:
git clone https://github.com/geosense/git
Na začátku práce stáhnout aktuální verze ze vzdálených repozitářů a přeskládat svoji případnou práci nad ně:
git fetch --all
git rebase
Následuje práce v textovém editoru, a mnoho a mnoho commitů:
git commit -a -m"důležitá změna"
git commit -m"jiná změna - ale jenom v jednom souboru" gui.rst
Po skončení směny - nebo v případě požáru:
git push
A opusťte budovu
Když se chci podívat, co se změnilo, kde jsem:
git status
git tree
když pracuji s větvemi¶
vyrobím a přepnu se do větve:
git branch jmeno_vetve
git checkout jmeno_vetve
Dál pracuji normálně:
git commit
git commit
...
git push
git fetch --all
git rebase
git commit
git commit
git commit
...
Sem tam použiji git tree a git status (nebo holt gitk, no...)
Když chci sloučit změny do cílové větve `master`:
git checkout master
git merge jmeno_vetve
git push