Git
Z MiS
				
				
				(Rozdíly mezi verzemi)
				
																
				
				
								
				m (→Vzdálený repozitář (GitHub):  Opraven nadpis, aby lépe popisoval obsah kapitoly.)  | 
		 (Přidány typy účtů na GitHubu (kapitola GitHub))  | 
		||
| Řádka 109: | Řádka 109: | ||
* 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 ==  | ||
Verze z 23. 3. 2021, 10:30
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 
.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 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