4. diel - Git - Základy - Dokončenie
V minulej lekcii, Git - Základy, sme sa zaoberali commitmi. Prebrali sme správnu prax pre tvorbu commitov, ktorú sme taktiež uplatnili pri pridaní súboru do commitu.
V dnešnom Git tutoriále dokončíme tému commitov tvorbou
commitu s dlhším popisom. Naučíme sa tiež
naklonovať cudzí repositár, na ktorom si ukážeme použitie
súboru .gitignore
.
Nadviažeme na naše znalosti commitov z lekcie Git - Základy.
Tvorba commitu s dlhším popisom
V lekcii Git – Základy sme si ukázali základnú tvorbu commitu. Teraz sa naučíme vytvoriť commit s dlhším popisom.
Pokiaľ totiž chceme vytvoriť commit s dlhším popisom, nepoužijeme
príkaz git commit -m "commit_name"
, ale príkaz:
MINGW64:/c/mygit IctDemy@DESKTOP-ADEVTG4 MINGW64 /c/mygit (main) $ git commit
Otvorí sa nám textový editor Vim
, v ktorom uvidíme tento
výstup:
MINGW64:/c/mygit # 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žitie textového editora Vim
sme špecifikovali
pri inštalácii v lekcii Git
- Inštalácia. Súbor index.html
je tu ako príklad.
Vytvárali sme ho v lekcii Git –
Základy pri tvorbe základného commitu.
Teraz postupujeme nasledovne:
- Prepneme sa do režimu editácie stlačením klávesu I.
- Na prvý riadok napíšeme stručný popis commitu,
napríklad
Added index.html file
. - Ponecháme prázdny riadok a presunieme sa na tretí riadok.
- Napíšeme podrobný popis commitu, napríklad
Creating a new project and adding an HTML file named index.html that contains the basic HTML code for the page.
. - Stlačením klávesy Esc sa prepneme do režimu príkazov.
- Napíšeme príkaz
:wq
, čím uložíme súbor a ukončíme editor.
V textovom editore Vim
s dvojbodkou :
dostaneme do režimu príkazov. Napríklad príkaz
:w
slúži na uloženie (write) a príkaz :q
na
ukončenie (quit). Príkaz :wq
potom uloží súbor a ukončí
editor.
Náš nový commit bude vyzerať nasledovne:
MINGW64:/c/mygit Added index.html file Creating a new project and adding an HTML file named index.html that contains the basic HTML code for the page. # 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 #
Overenie commitu by sme zase vykonali príkazom git log
, ako sme
ho overovali pri základnej tvorbe commitu v lekcii Git -
Základy. Dostali by sme potom tento zoznam všetkých uskutočnených
commitov spolu s ich popismi:
MINGW64:/c/mygit IctDemy@DESKTOP-ADEVTG4 MINGW64 /c/mygit (main) $ git log commit 0530f56a6a2092eec7aab664f77fba6b9e62c3c4 Author: Ictdemy <[email protected]> Date: Wed Aug 30 10:42:37 2023 +0200 Added index.html file Creating a new project and adding an HTML file named index.html that contains the basic HTML code for the page.
Klonovanie repositára
V lekcii Git - Základy sme si ukázali tvorbu vlastného repositára. Teraz si skúsime naklonovať cudzí repositár. Klonovanie repositára je vytvorenie kópie (klonu) existujúceho repositára, ktorý bude obsahovať všetky zmeny a súbory obsiahnuté v pôvodnom projekte.
Klonovanie repositára sa najčastejšie používa, keď chceme:
- Prispievať do projektu, ktorý je hosťovaný na vzdialenom serveri (napr. GitHub, GitLab alebo Bitbucket).
- Začať pracovať na cudzom projekte na svojom lokálnom počítači.
- Vytvoriť kópiu projektu pre testovanie alebo vývoj.
Klonovanie repositára sa vykoná pomocou príkazu git clone
, za
ktorý uvedieme URL adresu klonovaného repositára. Syntax je nasledovná:
git clone <repository_URL>
.
Príklad
Teraz si vyskúšame naklonovať repositár Framework Laravel pre PHP z
GitHubu z URL adresy https://github.com/laravel/laravel
:
MINGW64:/c/mygit IctDemy@DESKTOP-ADEVTG4 MINGW64 /c/mygit (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.
Teraz sa nám sťahuje repositár, ktorý sa uloží do zložky
laravel/
. Po úspešnom klonovaní by sme mohli pristúpiť k
ďalším operáciám, ako napríklad:
- zobrazenie histórie commitov,
- vytvorenie nových vetiev,
- úpravy súborov a následné odoslanie zmien na vzdialený server.
Tieto operácie sa naučíme ďalej v kurze.
Súbor .gitignore
Na naklonovanom repositári Framework Laravel pre PHP z
GitHubu si poďme ukázať použitie súboru .gitignore
.
Počas vývoja projektu vznikajú dočasné alebo generované súbory, ktoré
nechceme začleňovať do Gitu. A práve súbor .gitignore
definuje, ktoré súbory a priečinky má Git ignorovať.
Ignorované súbory sa potom nebudú zobrazovať vo výstupoch príkazu
git status
a nebudú začlenené do commitov ani repositára.
Každý riadok v súbore .gitignore
reprezentuje vzor
súboru alebo priečinka, ktorý sa má ignorovať.
Vzory môžu obsahovať zástupné znaky pre flexibilitu.
Niektoré príklady vzorov sú:
file.txt
: Ignoruje konkrétny súborfile.txt
v koreňovom priečinku projektu.logs/
: Ignoruje všetky súbory a priečinky v priečinkulogs/
.*.log
: Ignoruje všetky súbory s príponou.log
.
Príklad
Ako konkrétne môžeme ignorovať všetky súbory zo zložky
laravel/
naklonovaného repositára, si ukážme v nasledujúcom
postupe:
- V koreňovej zložke naklonovaného repositára vytvoríme súbor s názvom
.gitignore
. - Súbor
.gitignore
otvoríme v textovom editore. - Pridáme vzory súborov a zložiek, ktoré chceme ignorovať. V našom
prípade chceme ignorovať zložku
laravel/
. - Súbor
.gitignore
uložíme.
Súbor .gitignore
teraz obsahuje:
laravel/
Teraz si overíme, či je náš súbor .gitignore
správne
nakonfigurovaný. Spustíme príkaz git status
, ktorým získame
nasledujúci výstup:
MINGW64:/c/mygit IctDemy@DESKTOP-ADEVTG4 MINGW64 /c/mygit (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 spôsobom sme v súbore .gitignore
úspešne nastavili
ignorovanie zložky laravel/
.
Nakoniec pridáme súbor .gitignore
do stage a commitneme:
MINGW64:/c/mygit IctDemy@DESKTOP-ADEVTG4 MINGW64 /c/mygit (main) $ git add .gitignore $ git commit -m "Add file .gitignore" [main b052d2b] Přidán soubor .gitignore 1 file changed, 1 insertion(+) create mode 100644 .gitignore
Tým bude súbor .gitignore
začlenený do repositára a
zdieľaný s ostatnými členmi tímu.
V nasledujúcom kvíze, Kvíz - Princípy, inštalácie a základy Gitu, si vyskúšame nadobudnuté skúsenosti z predchádzajúcich lekcií.