Git
Z MiS
(Rozdíly mezi verzemi)
(→Vytvoření repozitáře: Přidáno vytvoření klíče) |
m (→Vzdálený repozitář (GitHub): Opraven nadpis, aby lépe popisoval obsah kapitoly.) |
||
Řádka 62: | Řádka 62: | ||
* Více viz [[Git: Versioning]]. | * Více viz [[Git: Versioning]]. | ||
− | == | + | == Práce se vzdáleným repozitářem (GitHub) == |
; Aktualizace lokálního repozitáře | ; Aktualizace lokálního repozitáře | ||
git pull | git pull |
Verze z 23. 3. 2021, 10:26
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.
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