8. Git: základní cyklus (20 min)
Výstup bloku: každý zvládne přidat, změnit a smazat soubor a poslat změny na GitHub.
Stavy souborů (3 min)
git status ukazuje, co se s čím děje. Ve VS Code a podobných editorech jsou tyto stavy značené písmenem:
| Značka | Význam | Stav |
|---|---|---|
U |
Untracked – nový soubor, Git ho ještě nezná | nový |
A |
Added – nový soubor připravený do commitu | přidaný |
M |
Modified – změněný soubor | upravený |
D |
Deleted – smazaný soubor | smazaný |
Úkol A: nový soubor – U (5 min)
Každý si ve svém klonu vytvoří soubor ucastnici/<jmeno>.md s jednou větou o sobě.
mkdir ucastnici
echo "Jmenuji se Jana a dělám web." > ucastnici/jana.md
git status # soubor je U (untracked)
git add ucastnici/jana.md
git status # soubor je A (připravený k commitu)
git commit -m "Přidá profil účastníka Jana"
git push
Pokud git push odmítne (někdo mezitím pushl):
git pull
git push
Úkol B: úprava souboru – M (4 min)
Doplnit do svého souboru druhou větu.
git status # M (modified)
git diff # co přesně se změnilo
git add ucastnici/jana.md
git commit -m "Doplní zájmy do profilu"
git push
Úkol C: smazání souboru – D (3 min)
Vytvořit ucastnici/test.md, commitnout, pushnout. Poté:
git rm ucastnici/test.md
git status # D (deleted)
git commit -m "Odstraní testovací soubor"
git push
git pull a git push (3 min)
git pull– stáhne a sloučí změny ze vzdáleného repozitáře. Před prací a před pushem.git push– pošle lokální commity na GitHub.git log --oneline– přehled historie, vyzkoušet po pushích ostatních.
git pull
git log --oneline --graph
Dobrý commit (2 min)
- jedna logická změna,
- popisek říká, co a proč („Opraví překlep v README“), ne „fix“ nebo „změny“,
- nikdy nepřidávat vše bez kontroly:
git statusagit diffpředgit add.
Poznámky pro lektora
- Při souběžném pushi bude většina účastníků narážet na odmítnutý push. Dobře: ukázat, že
git pullje běžná součást cyklu. - Rebase nezmiňovat. Pokud Git pull nabídne výběr strategie, nastavit
git config --global pull.rebase false.