Git
Z MiS
				
				
				(Rozdíly mezi verzemi)
				
																
				
				
								
				 (→Vytvoření repozitáře:  Přidáno vytvoření klíče)  | 
		 (→Vytvoření repozitáře:  Rozdělení na registraci a vytvoření repozitáře + hint pro školní účet.)  | 
		||
| (Není zobrazeno 5 mezilehlých verzí od 1 uživatele.) | |||
| Řádka 27: | Řádka 27: | ||
* Doporučujeme zvolit si při instalaci vhodný textový editor pro psaní komentářů.  | * Doporučujeme zvolit si při instalaci vhodný textový editor pro psaní komentářů.  | ||
*: Výchozí volbou je editor <code>vim</code>, 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 <code>vim</code>, 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.  | ||
| + | *: Dodatečně lze editor změnit:   | ||
| + | *: (Dosaďte cestu ke svému oblíbenému textovému editoru, zdvojte všechna zpětná lomítka — zde používáme Poznámkový blok)  | ||
| + |  git config --system core.editor "C:\\WINDOWS\\system32\\notepad.exe"  | ||
* Nastavte git:  | * Nastavte git:  | ||
  git config --global user.name "Jméno Příjmení"  |   git config --global user.name "Jméno Příjmení"  | ||
| Řádka 33: | Řádka 36: | ||
* Více o instalaci a úvodní konfiguraci: [[Git: Instalace]].  | * Více o instalaci a úvodní konfiguraci: [[Git: Instalace]].  | ||
| − | ==   | + | == Registrace a vytvoření účtu ==  | 
| − | * Vytvořte si účet na serveru [https://www.github.com Github.com] (pokud už nemáte)   | + | * Vytvořte si účet na serveru [https://www.github.com Github.com] (pokud už nemáte). (Můžete použít také jiný server.)  | 
* Vygenerujte si klíč pro SSH přístup pomocí ''Git Bash'':  | * Vygenerujte si klíč pro SSH přístup pomocí ''Git Bash'':  | ||
  ssh-keygen -t rsa  |   ssh-keygen -t rsa  | ||
| − | * Nahrajte veřejný klíč do svého účtu na [https://www.github.com Github.com]: ''Settings → SSH and GPG keys''  | + | * Nahrajte veřejný klíč do svého účtu na [https://www.github.com Github.com]: ''Settings → SSH and GPG keys''. Veřejný klíč je uložen v textovém souboru <tt>id_rsa.pub</tt> ve složce <tt>.ssh</tt> ve vašem domovském adresáři. Zobrazit se dá například v příkazovém řádku:  | 
| + |  type C:\Users\''username''\.ssh\id_rsa.pub    | ||
| + | Za ''username'' je třeba dát uživatelském jméno.  | ||
| + | == Vytvoření a klonování repozitáře ==  | ||
| + | |||
| + | * Repozitář můžete založit ve webovém rozhraní GitHubu.  | ||
* Vytvoření lokální kopie vzdáleného repozitáře v aktuální složce:  | * Vytvoření lokální kopie vzdáleného repozitáře v aktuální složce:  | ||
  git clone ''git@github.com:''username''/''repository-name''  |   git clone ''git@github.com:''username''/''repository-name''  | ||
* Více viz [[Git: Repository]].  | * Více viz [[Git: Repository]].  | ||
| + | |||
| + | <div class="Poznamka">Pokud repozitář zakládáte na síťovém disku – například školní domovský disk – a píše vám, že nemáte oprávnění, použijte pro klonování:  | ||
| + |  git clone ''https://github.com/''username''/''repository-name''  | ||
| + | </div>  | ||
== Správa verzí ==  | == Správa verzí ==  | ||
| Řádka 62: | Řádka 74: | ||
* 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  | ||
| Řádka 104: | Řádka 116: | ||
* 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é.  | * 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 <code>.gitignore</code> v repozitáři můžete zapsat soubory, které se budou při nahrávání do repozitáře ignorovat.  | * Do souboru <code>.gitignore</code> v repozitáři můžete zapsat soubory, které se budou při nahrávání do repozitáře ignorovat.  | ||
| − | * Vzorové soubory <code>.gitignore</code> si lze nechat vygenerovat například na: [https://www.gitignore.io GitIgnore.io].  | + | * Vzorové soubory <code>.gitignore</code> si lze nechat vygenerovat:  | 
| + | ** Jděte například na: [https://www.gitignore.io GitIgnore.io].  | ||
| + | ** Zadejte název vývojového prostředí, které používáte.  | ||
| + | ** Vygenerovaný text uložte do souboru <code>.gitignore</code> v kořenovém adresáři vašeho repozitáře s projektem.  | ||
| + | * Odstranění ignorovaných souborů ze vzdáleného adresáře, pokud jste je předtím již nahráli (v příkazu odstraňujeme soubory ''Thumbs.db'' ze všech adresářů):  | ||
| + |  git rm --cached **/Thumbs.db  | ||
| + |  git add **/Thumbs.db  | ||
| + |  git commit -m "Odstraněny ignorované soubory Thumbs.db"  | ||
| + |  git push  | ||
== Markdown ==  | == Markdown ==  | ||
* Markdown je hypertextový značkovací jazyk, který se používá pro psaní dokumentace v Gitu.  | * Markdown je hypertextový značkovací jazyk, který se používá pro psaní dokumentace v Gitu.  | ||
* Více na stránce [[Markdown]].  | * 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 ==  | == Dotazy a problémy ==  | ||
Aktuální verze z 7. 9. 2025, 14:39
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. - Dodatečně lze editor změnit:
 - (Dosaďte cestu ke svému oblíbenému textovému editoru, zdvojte všechna zpětná lomítka — zde používáme Poznámkový blok)
 
 -  Výchozí volbou je editor 
 
git config --system core.editor "C:\\WINDOWS\\system32\\notepad.exe"
- 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.
 
Registrace a vytvoření účtu
- Vytvořte si účet na serveru Github.com (pokud už nemáte). (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. Veřejný klíč je uložen v textovém souboru id_rsa.pub ve složce .ssh ve vašem domovském adresáři. Zobrazit se dá například v příkazovém řádku:
 
type C:\Users\username\.ssh\id_rsa.pub
Za username je třeba dát uživatelském jméno.
Vytvoření a klonování repozitáře
- Repozitář můžete založit ve webovém rozhraní GitHubu.
 - 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.
 
Pokud repozitář zakládáte na síťovém disku – například školní domovský disk – a píše vám, že nemáte oprávnění, použijte pro klonování:
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 . 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 
.gitignorev repozitáři můžete zapsat soubory, které se budou při nahrávání do repozitáře ignorovat. -  Vzorové soubory 
.gitignoresi lze nechat vygenerovat:- Jděte například na: GitIgnore.io.
 - Zadejte název vývojového prostředí, které používáte.
 -  Vygenerovaný text uložte do souboru 
.gitignorev kořenovém adresáři vašeho repozitáře s projektem. 
 - Odstranění ignorovaných souborů ze vzdáleného adresáře, pokud jste je předtím již nahráli (v příkazu odstraňujeme soubory Thumbs.db ze všech adresářů):
 
git rm --cached **/Thumbs.db git add **/Thumbs.db git commit -m "Odstraněny ignorované soubory Thumbs.db" git push
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