Git
Z MiS
Obsah |
Git
- Git je jedním z nejoblíbenějších verzovacích systémů současnosti.
- Jedná se o aplikaci, která umí:
- sledovat změny v souborech,
- ukládat průběžné verze dokumentů a připojovat k nim komentáře,
- vracet se k předchozím verzím.
- Typicky se využívá pro správu zdrojového kódu projektu, ale lze ji využít i k sledování verzí libovolného dokumentu.
Tato stránka shrnuje základní příkazy a koncepty pro práci s Gitem. U každé akce je zároveň odkaz na stránku, kde si můžete přečíst podrobnější vysvětlení.
Ovládání a pojmy
- Způsob ovládání
- Git lze ovládat
- z příkazového řádku,
- bývá integrován do vývojových prostředí (IDE) — NetBeans, IntelliJ IDEA, Visual Studio Code, Visual Studio,...
- existují také podpůrné nástroje pro práci v grafickém uživatelském prostředí.
- GitHub
- GitHub je veřejný server, kde si můžete vytvořit repozitář a sdílet se spolupracovníky zdrojový kód svého projektu.
- Váš Git umí stáhnout z GitHubu aktuální verzi a posléze nahrát zpět provedené změny.
- Obdobných serverů existuje více (GitLab,...), GitHub patří k nejznámnějším.
Instalace
- Git nainstalujete jako běžnou aplikaci ze stránek: Git-scm.com
- Doporučujeme zvolit si při instalaci vhodný textový editor pro psaní komentářů.
- Výchozí volbou je editor
vim
, známý z unixových systémů. Jeho ovládání ale pro většinu uživatelů Windows není příliš přívětivé — aspoň než si zvyknete.
- Výchozí volbou je editor
- Nastavte git:
git config --global user.name "Jméno Příjmení" git config --global user.email "tvuj_email@gmail.com" git config --global core.autocrlf false
- Více o instalaci a úvodní konfiguraci: Git: Instalace.
Vytvoření repozitáře
- Vytvořte si účet na serveru Github.com (pokud už nemáte) a založte repozitář. (Můžete použít také jiný server.)
- Vygenerujte si klíč pro SSH přístup pomocí Git Bash:
ssh-keygen -t rsa
- Nahrajte veřejný klíč do svého účtu na Github.com: Settings → SSH and GPG keys
- Vytvoření lokální kopie vzdáleného repozitáře v aktuální složce:
git clone git@github.com:username/repository-name
- Více viz Git: Repository.
Správa verzí
- Zjištění stavu lokálního repozitáře
git status
- Zařazení aktuálních změn v projektu do snímku
git add soubor git add . git add -A
- Vytvoření snímku
git commit
- Zobrazení historie
git reflog git log
- Ukonči klávesou Q
git log --oneline --decorate --graph
- Odvolání změn z konkrétního snímku (commitu)
git revert a99fcf9
- Více viz Git: Versioning.
Práce se vzdáleným repozitářem (GitHub)
- Aktualizace lokálního repozitáře
git pull
- Stažení změn z repozitáře — změny mohli provést ostatní vývojáři
- Následně pracujte v lokální repozitáři
... git add . git commit
- Odeslání změn z lokálního do vzdáleného repozitáře
git pull git push
- Více viz Git: Repository.
Větvení
- Při opravě chyb nebo přidání nových funkcí musíte obvykle kód dočasně „rozbít“, když začnete zapracovávat požadované změny.
- Pokud s repozitářem pracuje více lidí, je vhodné tyto změny vyřešit v samostatné větvi (branch).
- Ostatní tak mají kód stále k dispozici projekt v původní neporušené verzi.
- Pamatujte si: 1 změna = 1 větev.
- Přehled větví
git branch
- Vytvoření větve a přechod do ní
git branch nazev_nove_vetve git checkout nazev_nove_vetve
- Odeslání změn z větve vetev_se_zmenami do větve main
git checkout vetev_se_zmenami git rebase -i HASH git rebase --continue git checkout main git pull git merge vetev_se_zmenami
- Více viz Git: Branch
.gitignore
- Pokud pracujete ve vývojovém prostředí (IDE), není vhodné ukládat do repozitáře veškerá nastavení nebo přeložené výsledky, které mohou být velké.
- Do souboru
.gitignore
v repozitáři můžete zapsat soubory, které se budou při nahrávání do repozitáře ignorovat. - Vzorové soubory
.gitignore
si lze nechat vygenerovat například na: GitIgnore.io.
Markdown
- Markdown je hypertextový značkovací jazyk, který se používá pro psaní dokumentace v Gitu.
- Více na stránce Markdown.
GitHub
- Typy účtů na GitHubu
- Osobní účet: zdarma, neomezený počet soukromých i veřejných repozitářů.
- Firemní účet: administrátoři mohou spravovat oprávnění jednotlivých vývojářů k firemním projektům.
- Enterprise účet: centrální správa několika organizací.
- Lze pracovat s veřejným serverem, nebo lze vytvořit firemní server, na kterém budou repozitáře firmy a&nbps;který bude plně ve správě firmy.
Dotazy a problémy
- Některé běžné dotazy a problémy jsou vysvětleny na stránce Git: FAQ.
Zdroje
- Rychlý videokurz: Learn2Code.cz → Git a GitHub
- Lokální práce s Gitem, analogie s fotoalbem: FreeCodeCamp.org → Git — Core concepts