Git
Z MiS
(Rozdíly mezi verzemi)
(Přidána sekce .gitignore.) |
(Místo prostého "merge" přidáno "rebase", git init přesunut jen do stránky s podrobnějším nastavením.) |
||
Řádka 10: | Řádka 10: | ||
<div class="Poznamka">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í.</div> | <div class="Poznamka">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í.</div> | ||
+ | |||
+ | == 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 == | == Instalace == | ||
Řádka 17: | Řádka 29: | ||
* Více o instalaci a úvodní konfiguraci: [[Git: Instalace]]. | * Více o instalaci a úvodní konfiguraci: [[Git: Instalace]]. | ||
− | == | + | == Vytvoření repozitáře == |
− | * | + | * Vytvořte si účet na serveru [https://www.github.com Github.com] (pokud už nemáte) a založte repozitář. (Můžete použít také jiný server.) |
− | + | * Vytvoření lokální kopie vzdáleného repozitáře v aktuální složce: | |
− | + | git clone ''https''://github.com/''username''/''repository-name'' | |
+ | * Více viz [[Git: Repository]]. | ||
− | + | == Správa verzí == | |
− | + | ; Zjištění stavu lokálního repozitáře | |
− | + | ||
git status | git status | ||
+ | ; Zařazení aktuálních změn v projektu do snímku | ||
git add soubor | git add soubor | ||
git add . | git add . | ||
+ | ; Vytvoření snímku | ||
git commit | git commit | ||
; Zobrazení historie | ; Zobrazení historie | ||
Řádka 34: | Řádka 48: | ||
* Ukonči klávesou ''Q'' | * Ukonči klávesou ''Q'' | ||
git log --oneline --decorate --graph | git log --oneline --decorate --graph | ||
− | ; Odvolání změn | + | ; Odvolání změn z konkrétního snímku (commitu) |
git revert a99fcf9 | git revert a99fcf9 | ||
+ | |||
* Více viz [[Git: Versioning]]. | * Více viz [[Git: Versioning]]. | ||
== Vzdálený repozitář (GitHub) == | == Vzdálený repozitář (GitHub) == | ||
− | + | ; Aktualizace lokálního repozitáře | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
git pull | git pull | ||
− | * Následně pracujte v lokální repozitáři | + | * 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 add . | ||
git commit | git commit | ||
− | + | ||
+ | ; Odeslání změn z lokálního do vzdáleného repozitáře | ||
git pull | git pull | ||
git push | git push | ||
+ | |||
* Více viz [[Git: Repository]]. | * Více viz [[Git: Repository]]. | ||
== Větvení == | == Větvení == | ||
− | * Při opravě chyb nebo přidání nových funkcí musíte obvykle kód dočasně „rozbít“ | + | * 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). | * 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 v původní neporušené verzi. | + | * Ostatní tak mají kód stále k dispozici projekt v původní neporušené verzi. |
* Pamatujte si: 1 změna = 1 větev. | * Pamatujte si: 1 změna = 1 větev. | ||
+ | |||
; Přehled větví | ; Přehled větví | ||
git branch | git branch | ||
+ | |||
; Vytvoření větve a přechod do ní | ; Vytvoření větve a přechod do ní | ||
− | git branch '' | + | git branch ''nazev_nove_vetve'' |
− | git checkout '' | + | git checkout ''nazev_nove_vetve'' |
− | ; | + | |
− | git checkout | + | ; Odeslání změn z větve ''vetev_se_zmenami'' do větve ''main'' |
− | git | + | 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]] | * Více viz [[Git: Branch]] | ||
Verze z 14. 12. 2020, 13:23
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
- 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.)
- Vytvoření lokální kopie vzdáleného repozitáře v aktuální složce:
git clone https://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 .
- 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.
Vzdálený repozitář (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
- Kurz na Learn2Code.cz