Git
Z MiS
(Rozdíly mezi verzemi)
(Místo prostého "merge" přidáno "rebase", git init přesunut jen do stránky s podrobnějším nastavením.) |
(→.gitignore: Přidán postup pro odstranění ignorovaných souborů z remote.) |
||
(Není zobrazeno 8 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: | ||
+ | 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]]. | * Více o instalaci a úvodní konfiguraci: [[Git: Instalace]]. | ||
== Vytvoření repozitáře == | == 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ř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.) | ||
+ | * Vygenerujte si klíč pro SSH přístup pomocí ''Git Bash'': | ||
+ | ssh-keygen -t rsa | ||
+ | * Nahrajte veřejný klíč do svého účtu na [https://www.github.com Github.com]: ''Settings → SSH and GPG keys'' | ||
+ | |||
* 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 clone ''git@github.com:''username''/''repository-name'' |
* Více viz [[Git: Repository]]. | * Více viz [[Git: Repository]]. | ||
Řádka 41: | Řádka 52: | ||
git add soubor | git add soubor | ||
git add . | git add . | ||
+ | git add -A | ||
; Vytvoření snímku | ; Vytvoření snímku | ||
git commit | git commit | ||
Řádka 53: | Řádka 65: | ||
* 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 95: | Řádka 107: | ||
* 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 == | ||
Řádka 105: | Řádka 132: | ||
== Zdroje == | == Zdroje == | ||
− | + | * Rychlý videokurz: [https://www.learn2code.cz/kurzy/git-a-github Learn2Code.cz → Git a GitHub] | |
− | * [https://www.learn2code.cz/kurzy/git-a-github Learn2Code.cz → Git a GitHub] | + | * Lokální práce s Gitem, analogie s fotoalbem: [https://www.freecodecamp.org/news/git-the-laymans-guide-to-understanding-the-core-concepts/ FreeCodeCamp.org → Git — Core concepts] |
Aktuální verze z 12. 10. 2022, 06:03
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.
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:- 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
.gitignore
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 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