4. diel - Git - Základy - Dokončenie
V predchádzajúcej lekcii, Git - Základy, sme sa zaoberali commitmi. Prebrali sme tvorbu commitov, čo sme taktiež uplatnili pri pridaní súboru do commitu.
V dnešnom tutoriáli Git dokončíme tému commitov tvorbou
commitu s dlhším popisom. Naučíme sa tiež
naklonovať cudzí repozitár, na ktorom si ukážeme použitie
súboru .gitignore.
Nadviažeme na naše vedomosti 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.
Ak 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 takto:
- Prepneme sa do režimu editácie stlačením klávesu I.
- Do prvého riadku napíšeme stručný popis commitu,
napríklad
Added index.html file. - Nechá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 sa 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ť takto:
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 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 repozitára
V lekcii Git - Základy sme si ukázali tvorbu vlastného repozitára. Teraz si skúsime naklonovať cudzí repozitár. Klonovanie repozitára je vytvorenie kópie (klonu) existujúceho repozitára, ktorý bude obsahovať všetky zmeny a súbory obsiahnuté v pôvodnom projekte.
Klonovanie repozitá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 na testovanie alebo vývoj.
Klonovanie repozitára vykonáme pomocou príkazu git clone, za
ktorý uvedieme URL adresu klonovaného repozitára. Syntax bude taká:
git clone <repository_URL>.
Príklad
Teraz si vyskúšame naklonovať repozitá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 repozitá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 repozitá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 repozitára.
Každý riadok v súbore .gitignore predstavuje 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.txtv 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 repozitára, si ukážme v nasledujúcom
postupe:
- V koreňovej zložke naklonovaného repozitára vytvoríme súbor s názvom
.gitignore. - Súbor
.gitignoreotvorí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
.gitignoreuloží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 repozitá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í.
