Lekce 4 - Git - Základy - Dokončení
V minulé lekci, Git - Základy, jsme se zabývali commity. Probrali jsme správnou praxi pro tvorbu commitů, kterou jsme také uplatnili při přidání souboru do commitu.
V dnešním Git tutoriálu dokončíme téma commitů
tvorbou commitu s delším popisem. Naučíme se také
naklonovat cizí repozitář, na kterém si ukážeme použití
souboru .gitignore
.
Navážeme na naše znalosti commitů z lekce Git - Základy.
Tvorba commitu s delším popisem
V lekci Git - Základy jsme si ukázali základní tvorbu commitu. Nyní se naučíme vytvořit commit s delším popisem.
Pokud totiž chceme vytvořit commit s delším popisem, nepoužijeme
příkaz git commit -m "Název commitu"
, ale příkaz:
MINGW64:/c/mujgit ItNetwork@DESKTOP-ADEVTG4 MINGW64 /c/mujgit (main) $ git commit
Otevře se nám textový editor Vim
, ve kterém uvidíme tento
výstup:
MINGW64:/c/mujgit # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch master # # Initial commit # # Changes to be committed: # new file: index.html #
Použití textového editoru Vim
jsme specifikovali
při instalaci v lekci Git
- Instalace. Soubor index.html
je zde jako příklad.
Vytvářeli jsme ho v lekci Git - Základy
při tvorbě základního commitu.
Nyní postupujeme následovně:
- Stisknutím klávesy I se přepneme do režimu editace.
- Na první řádek napíšeme stručný popis commitu,
například
Přidán soubor index.html
. - Ponecháme prázdný řádek a přesuneme se na třetí řádek.
- Napíšeme podrobný popis commitu, například
Vytvoření nového projektu a přidání HTML souboru index.html, který obsahuje základní HTML kód stránky.
. - Stiskem klávesy Esc se přepneme do režimu příkazů.
- Napíšeme příkaz
:wq
, čímž uložíme soubor a ukončíme editor.
V textovém editoru Vim
se
dvojtečkou :
dostaneme do režimu příkazů.
Například příkaz :w
slouží k uložení (write) a příkaz
:q
k ukončení (quit). Příkaz :wq
pak uloží
soubor a ukončí editor.
Náš nový commit bude vypadat následovně:
MINGW64:/c/mujgit Přidán soubor index.html Vytvoření nového projektu a přidání HTML souboru index.html, který obsahuje základní HTML kód stránky. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch master # # Initial commit # # Changes to be committed: # new file: index.html #
Ověření commitu bychom zase provedli příkazem git log
, jak
jsme již dělali při základní tvorbě commitu v lekci Git -
Základy. Dostali bychom pak tento seznam všech provedených commitů spolu
s jejich popisy:
MINGW64:/c/mujgit ItNetwork@DESKTOP-ADEVTG4 MINGW64 /c/mujgit (main) $ git log commit 0530f56a6a2092eec7aab664f77fba6b9e62c3c4 Author: itnetwork <[email protected]> Date: Wed Aug 30 10:42:37 2023 +0200 Přidán soubor index.html Vytvoření nového projektu a přidání HTML souboru index.html, který obsahuje základní HTML kód stránky.
Klonování repozitáře
V lekci Git - Základy jsme si ukázali tvorbu vlastního repozitáře. Nyní si zkusíme naklonovat cizí repozitář. Klonování repozitáře je vytvoření kopie (klonu) existujícího repozitáře, který bude obsahovat všechny změny a soubory obsažené v původním projektu.
Klonování repozitáře se nejčastěji používá, když chceme:
- Přispívat do projektu, který je hostován na vzdáleném serveru (např. GitHub, GitLab nebo Bitbucket).
- Začít pracovat na cizím projektu na svém lokálním počítači.
- Vytvořit kopii projektu pro testování nebo vývoj.
Klonování repozitáře se provede pomocí příkazu git clone
,
za který uvedeme URL adresu klonovaného repozitáře. Syntaxe je
následující: git clone <URL adresa repozitáře>
.
Příklad
Nyní si vyzkoušíme naklonovat repozitář Framework Laravel pro PHP z
GitHubu z URL adresy https://github.com/laravel/laravel
:
MINGW64:/c/mujgit ItNetwork@DESKTOP-ADEVTG4 MINGW64 /c/mujgit (main) $ git clone https://github.com/laravel/laravel Cloning into 'laravel'... remote: Enumerating objects: 34566, done. remote: Counting objects: 100% (62/62), done. remote: Compressing objects: 100% (49/49), done. remote: Total 34566 (delta 17), reused 47 (delta 11), pack-reused 34504 Receiving objects: 100% (34566/34566), 10.44 MiB | 5.05 MiB/s, done. Resolving deltas: 100% (20418/20418), done.
Nyní se nám stahuje repozitář, který se uloží do složky
laravel/
. Po úspěšném klonování bychom mohli přistoupit k
dalším operacím, jako například:
- k zobrazení historie commitů,
- k vytvoření nových větví,
- k úpravě souborů a následnému odeslání změn na vzdálený server.
Tyto operace se naučíme dále v kurzu.
Soubor .gitignore
Na naklonovaném repozitáři Framework Laravel pro PHP z
GitHubu si pojďme ukázat použití souboru .gitignore
.
Během vývoje projektu vznikají dočasné nebo generované soubory, které
nechceme do Gitu začleňovat. A právě soubor .gitignore
definuje, které soubory a složky má Git ignorovat.
Ignorované soubory se pak tedy nebudou zobrazovat ve výstupech příkazu
git status
a nebudou začleněny do commitů ani repozitáře.
Každý řádek v souboru .gitignore
reprezentuje vzor
souboru nebo složky, který má být ignorován.
Vzory mohou obsahovat zástupné znaky pro flexibilitu.
Některé příklady vzorů jsou:
file.txt
: Ignoruje konkrétní souborfile.txt
v kořenové složce projektu.logs/
: Ignoruje všechny soubory a složky ve složcelogs/
.*.log
: Ignoruje všechny soubory s příponou.log
.
Příklad
Jak konkrétně můžeme ignorovat všechny soubory ze složky
laravel/
naklonovaného repozitáře, si ukažme v následujícím
postupu:
- V kořenové složce naklonovaného repozitáře vytvoříme soubor s
názvem
.gitignore
. - Soubor
.gitignore
otevřeme v textovém editoru. - Přidáme vzory souborů a složek, které chceme ignorovat. V našem
případě chceme ignorovat složku
laravel/
. - Soubor
.gitignore
uložíme.
Soubor .gitignore
nyní obsahuje:
laravel/
Nyní si ověříme, zda je náš soubor .gitignore
správně
nakonfigurován. Spustíme příkaz git status
, kterým získáme
následující výstup:
MINGW64:/c/mujgit ItNetwork@DESKTOP-ADEVTG4 MINGW64 /c/mujgit (main) $ git status On branch master Untracked files: (use "git add <file>..." to include in what will be committed) .gitignore nothing added to commit but untracked files present (use "git add" to track)
Tímto způsobem jsme v souboru .gitignore
úspěšně nastavili
ignorování složky laravel/
.
Nakonec přidáme soubor .gitignore
do stage a commitneme:
MINGW64:/c/mujgit ItNetwork@DESKTOP-ADEVTG4 MINGW64 /c/mujgit (main) $ git add .gitignore $ git commit -m "Přidán soubor .gitignore" [main b052d2b] Přidán soubor .gitignore 1 file changed, 1 insertion(+) create mode 100644 .gitignore
Tím bude soubor .gitignore
začleněn do repozitáře a sdílen
s ostatními členy týmu.
V následujícím kvízu, Kvíz - Principy, instalace a základy Gitu, si vyzkoušíme nabyté zkušenosti z předchozích lekcí.