18. diel - Git - Nahranie repositára na GitLab
V minulej lekcii, Git - GitHub Desktop, sme si ukázali prácu s naším kódom pomocou aplikácie GitHub Desktop, teda bez použitia príkazového riadku.
V dnešnom Git tutoriále si ukážeme prácu so vzdialeným repozitárom. Predstavíme si GitLab, v ktorom si založíme profil. Ukážeme si, ako založiť nový repozitár a následne do neho nahrať náš projekt.
GitLab
GitLab je webová platforma pre správu verzií kódu umožňujúca vývojárom spolupracovať na projektoch, sledovať zmeny v kóde, riešiť problémy a zdieľať svoj softvér. GitLab rozširuje možnosti Gitu tým, že poskytuje používateľom priestor na ukladanie repositárov na svojich serveroch. Repozitáre na GitLabe sú úložiska pre projekty, do ktorých môžeme ukladať svoj kód, spravovať zmeny a viesť diskusie o prípadných vylepšeniach alebo chybách.
Využitie GitLabu
GitLab ponúka širokú škálu nástrojov a funkcií, ktoré umožňujú jednoduchú a efektívnu správu projektov, zdieľanie kódu a spoluprácu v reálnom čase. Napríklad to sú:
- Spolupráca a zdieľanie kódu - Vývojári môžu pracovať spoločne na projektoch a navrhovať zmeny pomocou pull requestov.
- Správa verzií a sledovanie zmien - GitLab umožňuje sledovať každú zmenu vykonanú v kóde.
- Automatizácia pomocou integrácií - Ponúka integráciu s nástrojmi, ako je CI/CD, pre automatizáciu vývoja a nasadenie kódu.
- Správa projektov a issues - Vývojári môžu používať nástroje na sledovanie úloh a problémov v projekte.
GitHub vs. GitLab
GitHub a GitLab sú dve populárne platformy pre správu verzií kódu. GitHub je obľúbený v open-source komunite vďaka svojej jednoduchosti, rozsiahlej komunite vývojárov a automatizácii procesov prostredníctvom GitHub Actions. GitLab naopak ponúka integrovaný prístup k DevOps s vstavanými nástrojmi pre celý vývojový cyklus, CI/CD integráciou a flexibilnými možnosťami hostovania.
Vytvorenie vzdialeného GitLab repozitára
GitLab je jednou z najznámejších platforiem pre hosťovanie Git repozitárov, a preto sa s ňou naučíme pracovať v tomto tutoriáli.
Registrácia
Aby sme na GitLabe mohli vytvoriť vlastný repozitár, musíme sa najskôr zaregistrovať. Prejdeme na oficiálne stránky GitLab a vykonáme registráciu, kde si nastavíme:
- meno a priezvisko,
- emailovú adresu,
- heslo,
- svoju unikátnu prezývku.
Po vyplnení všetkých údajov zadáme verifikačný kód, ktorý nám príde do našej e-mailovej schránky:
Vytvorenie repozitára
Po úspešnej registrácii sa prihlásime do svojho účtu. V ľavom hornom rohu klikneme na tlačidlo s plusom a z menu vyberieme položku New project/repository :
Po kliknutí sa nám otvorí ponuka, v ktorej zvolíme možnosť Create blank project:
Následne vidíme formulár na vytvorenie repozitára. Poďme si podrobnejšie prejsť jednotlivé položky a ich význam:
- Project name - Názov repozitára je krátky,
jednoduchý a opisuje, čo obsahuje. Vyhýbame sa špeciálnym znakom a namiesto
medzier píšeme pomlčky (
-
). - Public / Private - Viditeľnosť určuje, kto môže repozitár vidieť a pristupovať k nemu. Najčastejšie vytvárame privátnych repozitárov, ku ktorým máme prístup iba my či naši kolegovia. Verejných repozitárov vytvárame najmä pre tzv. open source projekty, ktoré povzbudzujú verejnú spoluprácu.
- Initialize repository with a README - Vytvorí súbor
README.md
. Tento dokument je prvá vec, ktorú používateľ vidí, keď navštívi náš repozitár. Obsahuje základný popis projektu, inštrukcie pre inštaláciu, použitie, prispievanie do projektu a tak ďalej.
Nový repozitár pomenujeme napr. git-tutorial
, viditeľnosť
nastavíme na Private a ďalej pridáme README.md
:
Teraz, keď máme formulár vyplnený, klikneme na tlačidlo Create project a počkáme, kým sa vzdialený repozitár vytvorí:
Týmto máme vzdialený GitLab repozitár vytvorený a môžeme prejsť na prácu s Gitom v IntelliJ IDEA 😊
Git v IntelliJ IDEA
Najprv potrebujeme mať nainštalovaného Git klienta na našom počítači.
Inštalácia Git
Spustíme IntelliJ IDEA a v úvodnej ponuke klikneme na Get from VCS:
Pokiaľ nám IDE po spustení automaticky otvorilo posledný projekt, klikneme v menu na File -> Close project. Týmto sa dostaneme späť na úvodnú ponuku.
Následne v menu klikneme na Repository URL, z rozbaľovacej ponuky Version control vyberieme Git a klikneme na tlačidlo Download and Install:
Pokiaľ vo formulári nevidíte možnosť Download and Install, máte na svojom počítači už Git nainštalovaný 🙂
Klonovanie repozitára
Ako ďalší krok je potrebné vzdialený repozitár naklonovať do lokálneho. Po úspešnej inštalácii Gitu vyberieme v menu GitLab a necháme si kliknutím na tlačidlo Generate... vygenerovať osobný prístupový token, ktorý skopírujeme do poľa Token v IntelliJ. Potom len klikneme na tlačidlo Log in:
Teraz vidíme formulár s našimi vzdialenými GitLab repozitármi. Z ponuky vyberieme repozitár, ktorý sme si v predchádzajúcom kroku založili a klikneme na tlačidlo Clone:
Týmto sa vzdialený repozitár naklonuje (skopíruje) z GitLabu do počítača. Ihneď potom sa automaticky otvorí rozhranie IntelliJ IDEA, ktoré už dobre poznáme.
Verzovanie projektu
V projekte klikneme pravým tlačidlom myši na adresár
git-tutorial/
, ďalej v ponuke zvolíme New >
Directory a nový adresár pomenujeme src/
. Na vytvorený
adresár znova klikneme pravým tlačidlom myši a v ponuke vyberieme Mark
Directory as > Sources Root:
Potom klikneme pravým tlačidlom myši na adresár src/
,
zvolíme New > Java Class a triedu pomenujeme
HelloWorld
. Môžeme si všimnúť, že v stromovej štruktúre
svieti trieda HelloWorld
na červeno. To znamená, že sa zatiaľ
neverzuje. Zároveň sa nám zobrazilo dialógové okno Add File to
Git, v ktorom sa nás IDE pýta, či chceme triedu pridať do Gitu a
začať verzovať. Klikneme teda na tlačidlo Add:
V stromovej štruktúre teraz vidíme triedu zelene, to znamená, že je do Gitu pridaná a verzuje sa.
Ak ste dialógové okno zavreli a názov triedy je stále červený, kliknite na triedu pravým tlačidlom myši a v ponuke zvoľte Git a kliknite na Add.
Poďme do triedy vložiť nasledujúci kód, ktorý určite spoznávate:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello world!"); } }
Teraz je na čase vytvoriť náš prvý commit.
Commit
V ľavom postrannom paneli klikneme na ikonu čím zobrazíme nový panel Commit.
V ponuke Changes vyberieme súbory, ktorých sa commit týka. V
našom prípade iba súbor HelloWorld.java
. Ďalej do textového
poľa Commit message napíšeme, čo sme urobili. My sme do repozitára
pridali aplikáciu HelloWorld
, napíšeme teda napr.
Add HelloWorld application
a klikneme na tlačidlo
Commit:
Správne napísaná commit správa by mala jasne a stručne popisovať, aké zmeny daný commit prináša. Ďalej existujú rôzne konvencie, ale všeobecne platí, že správy píšeme v imperatíve a ideálne v anglickom jazyku.
Commit amend
Pri vytváraní commitu sa nám tiež zobrazí checkbox Amend, ktorý nám umožní upraviť posledný commit. Táto možnosť je užitočná, ak sme urobili chybu vo svojom poslednom commite, napríklad zabudli pridať nejaký súbor, alebo chceme zmeniť commit správu.
Push
Zmenu máme vytvorenú. Teraz ju nahráme do vzdialeného repozitára na GitLabe. Na to slúži operácia push. Push typicky vykonávame po dokončení logickej jednotky práce, pred odchodom z domu či práce alebo ak chceme, aby naše zmeny boli viditeľné pre ostatných.
V IDE push vyvoláme kliknutím na záložku main v ľavej časti horného panelu:
V ďalšom okne push potvrdíme kliknutím na tlačidlo Push:
Pozor! Projekty vytvorené podľa kurzov z ITnetwork pod licenciou PRO nenahrávajte do verejných repozitárov! Sú chránené autorskými právami a ich šírenie je nelegálne. Mohol by si ich potom zobraziť a stiahnuť ktokoľvek na internete, čím by po vás mohla byť vyžadovaná náhrada škody.
Pull
Opačnou operáciou na push je pull. Tá stiahne zo vzdialeného servera všetky zmeny od ostatných do našej verzie kódu. Pull vykonáme opäť kliknutím na záložku main v ľavej časti horného panelu. Potom rozklikneme položku Remote > main a zvolíme možnosť Rebase (ak chceme zmeny v projekte prepísať) alebo Merge (ak chceme zmeny v projekte zlúčiť):
Keďže na vzdialenom serveri nemáme aktuálne žiadne zmeny, operácia po dokončení zobrazí hlášku All files are up-to-date.
Teraz vieme založiť vzdialený GitLab repozitár a napojiť sa naň cez IntelliJ IDEA. Vieme vytvárať commity a do repozitára ich nahrávať pomocou príkazu push, prípadne ich stiahnuť príkazom pull.
V nasledujúcom kvíze, Kvíz - Vnútorná štruktúra, Git GUI a GitHub Desktop v Gite, si vyskúšame nadobudnuté skúsenosti z predchádzajúcich lekcií.