Git

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(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&nbsp;koncepty pro práci s&nbsp;Gitem. U&nbsp;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&nbsp;koncepty pro práci s&nbsp;Gitem. U&nbsp;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&nbsp;příkazového řádku,
 +
** bývá integrován do vývojových prostředí (IDE) &mdash; NetBeans, IntelliJ IDEA, Visual Studio Code, Visual Studio,...
 +
** existují také podpůrné nástroje pro práci v&nbsp;grafickém uživatelském prostředí.
 +
 +
; GitHub
 +
* GitHub je veřejný server, kde si můžete vytvořit repozitář a&nbsp;sdílet se spolupracovníky zdrojový kód svého projektu.
 +
* Váš Git umí stáhnout z&nbsp;GitHubu aktuální verzi a&nbsp;posléze nahrát zpět provedené změny.
 +
* Obdobných serverů existuje více (GitLab,...), GitHub patří k&nbsp;nejznámnějším.
  
 
== Instalace ==
 
== Instalace ==
Řádka 17: Řádka 29:
 
* Více o&nbsp;instalaci a&nbsp;úvodní konfiguraci: [[Git: Instalace]].
 
* Více o&nbsp;instalaci a&nbsp;úvodní konfiguraci: [[Git: Instalace]].
  
== Správa verzí ==
+
== Vytvoření repozitáře ==
* Git lze ovládat
+
* Vytvořte si účet na serveru [https://www.github.com Github.com] (pokud už nemáte) a&nbsp;založte repozitář. (Můžete použít také jiný server.)
** z&nbsp;příkazového řádku,
+
* Vytvoření lokální kopie vzdáleného repozitáře v&nbsp;aktuální složce:
** bývá integrován do vývojových prostředí (IDE) &mdash; NetBeans, IntelliJ IDEA, Visual Studio Code, Visual Studio,...
+
git clone ''https''://github.com/''username''/''repository-name''
 +
* Více viz [[Git: Repository]].
  
; Založení projektu v&nbsp;příkazovém řádku
+
== Správa verzí ==
git init
+
; Zjištění stavu lokálního repozitáře
; Zařazení aktuálních změn dokumentu do snímku a&nbsp;vytvoření snímku
+
 
  git status
 
  git status
 +
; Zařazení aktuálních změn v&nbsp;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&nbsp;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) ==
* GitHub je veřejný server, kde si můžete ukládat aktuální verze svého projektu.
+
; Aktualizace lokálního repozitáře
* Váš Git umí stáhnout z&nbsp;GitHubu aktuální verzi a&nbsp;posléze nahrát zpět provedené změny.
+
* Obdobných serverů existuje více, GitHub patří k&nbsp;nejznámnějším.
+
 
+
; Postup
+
* Vytvořte si účet na serveru [https://www.github.com Github.com] (pokud už nemáte) a&nbsp;založte repozitář.
+
* Vytvoření lokální kopie vzdáleného repozitáře v&nbsp;aktuální složce:
+
git clone ''https''://github.com/''username''/''repository-name''
+
* Stažení změn aktuálního kódu z&nbsp;repozitáře
+
 
  git pull
 
  git pull
* Následně pracujte v&nbsp;lokální repozitáři
+
* Stažení změn z&nbsp;repozitáře &mdash; změny mohli provést ostatní vývojáři
 +
 
 +
; Následně pracujte v&nbsp;lokální repozitáři
 
  ...
 
  ...
 
  git add .
 
  git add .
 
  git commit
 
  git commit
* Zkontrolujte změny, které mezitím v&nbsp;repozitáři mohli provést vaši kolegové. Poté verzi odešlete do repozitáře:
+
 
 +
; 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“ a&nbsp;poté doplnit požadované změny.
+
* 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&nbsp;repozitářem pracuje více lidí, je vhodné tyto změny vyřešit v&nbsp;samostatné větvi (branch).
 
* Pokud s&nbsp;repozitářem pracuje více lidí, je vhodné tyto změny vyřešit v&nbsp;samostatné větvi (branch).
* Ostatní tak mají kód stále k&nbsp;dispozici v&nbsp;původní neporušené verzi.
+
* Ostatní tak mají kód stále k&nbsp;dispozici projekt v&nbsp;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&nbsp;přechod do ní
 
; Vytvoření větve a&nbsp;přechod do ní
  git branch ''nazev-nove-vetve''
+
  git branch ''nazev_nove_vetve''
  git checkout ''nazev-nove-vetve''
+
  git checkout ''nazev_nove_vetve''
; Spojení druhé větve s&nbsp;main (přepneme se do ''main'' a&nbsp;obsah druhé větve připojíme do ''main'')
+
 
  git checkout main
+
; Odeslání změn z&nbsp;větve ''vetev_se_zmenami'' do větve ''main''
  git merge ''nazev-druhe-vetve''
+
  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

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í
GitHub

Instalace

Vytvoření repozitáře

git clone https://github.com/username/repository-name

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
git log --oneline --decorate --graph
Odvolání změn z konkrétního snímku (commitu)
git revert a99fcf9

Vzdálený repozitář (GitHub)

Aktualizace lokálního repozitáře
git pull
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ětvení

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

.gitignore

Markdown

Dotazy a problémy

Zdroje

Kurz na Learn2Code.cz
Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje