IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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í repositář, 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ě:

  1. Přepneme se do režimu editace stisknutím klávesy I.
  2. Na první řádek napíšeme stručný popis commitu, například Přidán soubor index.html.
  3. Ponecháme prázdný řádek a přesuneme se na třetí řádek.
  4. 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..
  5. Stiskem klávesy Esc se přepneme do režimu příkazů.
  6. 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 jej ověřovali 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í repositáře

V lekci Git - Základy jsme si ukázali tvorbu vlastního repositáře. Nyní si zkusíme naklonovat cizí repositář. Klonování repositáře je vytvoření kopie (klonu) existujícího repositáře, který bude obsahovat všechny změny a soubory obsažené v původním projektu.

Klonování repositář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í repositáře se provede pomocí příkazu git clone, za který uvedeme URL adresu klonovaného repositáře. Syntaxe je následující: git clone <URL adresa repositáře>.

Příklad

Nyní si vyzkoušíme naklonovat repositář 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 repositář, 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:

  • zobrazení historie commitů,
  • vytvoření nových větví,
  • úpravy souborů a následné odeslání změn na vzdálený server.

Tyto operace se naučíme dále v kurzu.

Soubor .gitignore

Na naklonovaném repositář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 začleňovat do Gitu. 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 repositář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í soubor file.txt v kořenové složce projektu.
  • logs/: Ignoruje všechny soubory a složky ve složce logs/.
  • *.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 repositáře, si ukažme v následujícím postupu:

  1. V kořenové složce naklonovaného repositáře vytvoříme soubor s názvem .gitignore.
  2. Soubor .gitignore otevřeme v textovém editoru.
  3. Přidáme vzory souborů a složek, které chceme ignorovat. V našem případě chceme ignorovat složku laravel/.
  4. 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 repositář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í.


 

Předchozí článek
Git - Základy
Všechny články v sekci
Git
Přeskočit článek
(nedoporučujeme)
Kvíz - Principy, instalace a základy Gitu
Článek pro vás napsal Filip Studený
Avatar
Uživatelské hodnocení:
69 hlasů
.
Aktivity