11. diel - Git - Vzdialený repozitár - Tvorba a nastavenie repozitára
V predchádzajúcej lekcii, Git - Vzdialený repozitár - GitHub a protokoly HTTPS a SSH, sme si vytvorili profil na GitHube. Ukázali sme si, ako nastaviť Git na pripojenie cez protokoly HTTPS a SSH.
V dnešnom tutoriáli Git budeme pokračovať v práci so vzdialeným repozitárom. Ten si vytvoríme na platforme GitHub a ukážeme si jeho dôležité nastavenia vrátane vytvorenia issue, odkazu a prístupu pre užívateľov.
Vytvorenie vzdialeného repozitára na platforme GitHub
Skôr, ako budeme môcť nahrať náš lokálny repozitár do vzdialeného repozitára na platforme GitHub, musíme si vzdialený repozitár najskôr vytvoriť. Nový repozitár vytvoríme kliknutím na tlačidlo + a výberom New repository:

Po kliknutí na možnosť New repository budeme presmerovaní na túto stránku na vytvorenie repozitára:

Názov a popis repozitára
Do poľa Repository name vložíme názov nášho repozitára
mygit. Do poľa Description vložíme krátky popis
repozitára Test repository.
Viditeľnosť repozitára
Ďalej máme k dispozícii dve možnosti pre viditeľnosť repozitára:
- Public – repozitár je verejne prístupný pre všetkých.
- Private – repozitár je súkromný a prístup majú iba vybraní užívatelia, ktorým je povolený prístup.
My vyberieme Public.
README.md,
.gitignore súbory a licencie
Ak by sme zvolili možnosť Add a README file, vytvoril by sa v
repozitári súbor README.md. Túto možnosť necháme
prázdnu.
Súbor README.md je zvyčajne umiestnený v
koreňovom adresári repozitára a slúži na poskytnutie užitočných
informácií o projekte, aplikácii alebo repozitári.
Podobne by možnosť Add .gitignore vytvorila súbor
.gitignore z preddefinovaných šablón. Túto možnosť necháme
predvyplnenú na None. Nakoniec máme možnosť pomocou Choose a
license vybrať pre repozitár licenciu. Ponecháme None.
Vyplnený formulár vytvorenia repozitára vyzerá takto:

Teraz už len klikneme na tlačidlo Create repository. Na stránke bude zobrazený novo vytvorený repozitár so všetkými zadanými informáciami:

Na tejto stránke nám GitHub ponúka možnosť prepojenia GitHub
Copilot s našim repozitárom či pridanie ďalších
užívateľov k nášmu repozitáru. Tiež nám poskytuje ďalšie
informácie pre prácu s našim repozitárom mygit.
Nastavenie vzdialeného repozitára
Pri našom repozitári mygit si ukážeme nastavenie:
- sekcie Issues,
- odkazu,
- prístupu pre užívateľov,
- ďalšie nastavenia.
Sekcia Issues
V každom repozitári je k dispozícii možnosť vytvárať tzv. issue. V rámci issue majú vývojári aktívny priestor na diskusiu a prezentáciu rôznych prístupov a návrhov na riešenie daného problému. My si teraz taký issue vytvoríme.
V hornom menu nášho repozitára mygit klikneme na možnosť
Issues:

Otvorí sa nám stránka s issues. Nový issue vytvoríme kliknutím na New issue:

Po kliknutí na New issue sa presunieme na stránku tvorby nového
issue. Tu nový issue pomenujeme Test issue a do poľa Add a
description vložíme popis problému:
The repository is empty:

Pre efektívne pomenovanie issue je kľúčové využitie stručného a špecifického popisu, zahrnutie kľúčových slov pre jasnejší popis obsahu problému alebo úlohy.
Potom klikneme na tlačidlo Submit new issue. Budeme presunutí na detailnú stránku issue:

Na stránke vidíme kompletný popis issue vrátane jeho vytvorenia a možností diskusie. Majiteľ repozitára má možnosť uzavrieť alebo odstrániť issue.
Opätovným kliknutím na Issues v hornom menu uvidíme všetky issues vytvorené pre náš repozitár:

Odkaz
Ďalšou možnosťou v nastavení je vytvorenie odkazu z nášho lokálneho repozitára na repozitár vzdialený. Tento odkaz je potrebný na pripojenie sa z lokálneho repozitára na vzdialený repozitár, aby sme do neho mohli nahrať súbory.
Zoznam odkazov na vzdialených repozitároch vyvoláme príkazom
git remote. Bez parametrov zobrazí zoznam všetkých odkazov. Ak
je repozitár naklonovaný, bude už obsahovať odkaz na zdroj s názvom
origin, z ktorého repozitár pochádza. Týchto odkazov by sme si
mohli vytvoriť ľubovoľné množstvo. Na vzdialenom repozitári môže
existovať viac vetiev. K vetvám na serveri pristupujeme cez odkaz. Zoznam
vetiev na serveri získame príkazom
git remote show <source-name>.
Presuňme sa do nášho naklonovaného repozitára laravel. V
ňom spustíme príkaz git remote, ktorým získame výstup, ako
sme popísali vyššie:
MINGW64:/c/mygit/laravel IctDemy@DESKTOP-ADEVTG4 MINGW64 /c/mygit/laravel (10.x) $ git remote origin IctDemy@DESKTOP-ADEVTG4 MINGW64 /c/mygit/laravel (10.x) $
V repozitári laravel teraz spustíme príkaz
git remote show origin, ktorým získame nasledujúci výstup:
MINGW64:/c/mygit/laravel IctDemy@DESKTOP-ADEVTG4 MINGW64 /c/mygit/laravel (10.x) $ git remote show origin * remote origin Fetch URL: https://github.com/laravel/laravel.git Push URL: https://github.com/laravel/laravel.git HEAD branch: 10.x Remote branches: 10.x tracked 3.0 tracked 5.0 tracked ................... 8.x tracked 9.x tracked master tracked middleware tracked refs/remotes/origin/slim-skeleton-11.x stale (use 'git remote prune' to remove) Local branch configured for 'git pull': 10.x merges with remote 10.x Local ref configured for 'git push': 10.x pushes to 10.x (local out of date) IctDemy@DESKTOP-ADEVTG4 MINGW64 /c/mygit/laravel (10.x) $
Pod Remote branches: vidíme zoznam vzdialených
vetiev. Tieto vetvy sú nezávislé od lokálneho repozitára, preto na
ne musíme odkazovať tak, že pred názov vzdialenej vetvy napíšeme meno jej
zdroja a lomku. Ak chceme napríklad prejsť na vetvu
middleware zo zdroja origin, použijeme príkaz
git checkout origin/middleware.
Mohli by sme mať niekoľko zdrojov vychádzajúcich z jedného repozitára. V tom prípade by sme mali vetvy:
master(v ktorej práve pracujeme),OriginalRepository/master,FirstSource/master,ThirdSource/master.
Tieto vetvy sú od seba nezávislé a môžeme s nimi pracovať oddelene bez toho, aby nastal problém duplicitných názvov.
Vytvorenie odkazu na vzdialený repozitár
Teraz si vytvoríme odkaz na náš vzdialený repozitár. Z naklonovaného
repozitára laravel sa presunieme späť do nášho vzdialeného
repozitára mygit.
Odkaz sa tvorí príkazom git remote vo formáte
git remote add <source-name> <repository url>. URL
nášho vzdialeného repozitára mygit získame zo sekcie Quick
setup repositára mygit. V tejto sekcii si vyberieme protokol
HTTPS a z pravého poľa si skopírujeme do schránky odkaz k
nášmu repozitáru:

Teraz sa presunieme do nášho lokálneho repozitára laravel, v
ktorom si vytvoríme odkaz na vzdialený repozitár mygit
nasledujúcim príkazom:
MINGW64:/c/mygit IctDemy@DESKTOP-ADEVTG4 MINGW64 /c/mygit (main) $ git remote add origin https://github.com/testUser/mygit.git IctDemy@DESKTOP-ADEVTG4 MINGW64 /c/mygit (main) $
V prípade protokolu SSH by bol príkaz
nasledujúci:
git remote set-url origin [email protected]:testUser/mygit.git
Ak by sme chceli odkaz zmazať, použili by sme príkaz
git remote remove <source-name>.
Prístup pre užívateľov
GitHub umožňuje zdieľať prístupu k nášmu repozitáru s viacerými užívateľmi. To znamená, že ak pracujeme na projekte s viacerými vývojármi, môžeme ich pozvať a povoliť im prístup k nášmu repozitáru.
Nastavenie prístupu nájdeme v možnosti Collaborators:

Nového užívateľa by sme pridali kliknutím na možnosť Add people a vyplnením tohto formulára:

Ďalšie nastavenia
K ďalším nastaveniam repozitára sa dostaneme cez možnosť Settings nachádzajúcu sa v ponuke nad repozitárom:

Tu by sme mohli upraviť rôzne nastavenia repozitára, napríklad jeho názov, hlavnú vetvu, prístupové práva či oprávnenia pre ďalších užívateľov. V Settings nájdeme aj túto Danger Zone:

Na obrázku vidíme:
- Change repository visibility - zmení viditeľnosť repozitára.
- Disable branch protection rules – odstráni ochranu vetvy.
- Transfer ownership – zmení vlastníka repozitára.
- Archive this repository – označí tento repozitár ako archivovaný a iba na čítanie.
- Delete this repository – zmaže repozitár.
My si náš vzdialený repozitár mygit necháme
na prácu v ďalších lekciách.
V budúcej lekcii, Git - Vzdialený repozitár - Práca s repozitárom, si ukážeme, ako na vzdialený repositár nahrať súbory, ako z neho stiahnuť aktualizácie a ako uzavrieť jeho Issue.
