11. diel - Git - Vzdialený repositár - Tvorba a nastavenie repositára
V minulej lekcii, Git - Vzdialený repositár - GitHub a protokoly HTTPS a SSH, sme si založili profil na GitHube. Ukázali sme si, ako nastaviť Git na pripojenie cez protokoly HTTPS a SSH.
V dnešnom Git tutoriále budeme pokračovať v práci so vzdialeným repositá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 repositára na platforme GitHub
Než budeme môcť nahrať náš lokálny repositár do vzdialeného repositára na platforme GitHub, musíme si vzdialený repositár najskôr vytvoriť. Nový repositá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 vytvorenie repositára:
Názov a popis repositára
Do poľa Repository name vložíme názov nášho repositára
mygit
. Do poľa Description vložíme krátky popis
repositára Test repository
.
Viditeľnosť repositára
Ďalej máme k dispozícii dve možnosti pre viditeľnosť repositára:
- Public – repositár je verejne prístupný pre všetkých.
- Private – repositá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
repositári súbor README.md
. Túto voľbu ponecháme prázdnu.
Súbor README.md
je obvykle umiestnený v
koreňovom adresári repositára a slúži na poskytnutie užitočných
informácií o projekte, aplikácii alebo repositári.
Podobne možnosť Add .gitignore by vytvorila súbor
.gitignore
z preddefinovaných šablón. Túto voľbu necháme
predvyplnenú na None. Nakoniec je nám voľbou Choose a
license poskytnutá možnosť vybrať pre repositár licenciu. Ponecháme
None.
Vyplnený formulár založenia repositára vyzerá nasledovne:
Teraz už len klikneme na tlačidlo Create repository. Na stránke bude zobrazený novo vytvorený repositá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ším repositárom či pridanie pridať ďalších
užívateľov k nášmu repositárovi. Tiež nám poskytuje ďalšie
informácie pre prácu s naším repositárom mygit
.
Nastavenie vzdialeného repositára
U nášho repositára mygit
si ukážeme nastavenie:
- sekcie Issues,
- odkazu,
- prístupu pre užívateľov,
- ďalšie nastavenia.
Sekcia Issues
V každom repositá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 repositá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ľ repositá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áš repositár:
Odkaz
Ďalšou možnosťou v nastavení je vytvorenie odkazu z nášho lokálneho repositára na repositár vzdialený. Tento odkaz je nutný pre pripojenie sa z lokálneho repositára na vzdialený repositár, aby sme do neho mohli nahrať súbory.
Zoznam odkazov na vzdialených repositárov vyvoláme príkazom
git remote
. Bez parametrov zobrazí zoznam všetkých odkazov. Ak
je repositár naklonovaný, bude už obsahovať odkaz na zdroj s názvom
origin
, z ktorého repositár pochádza. Týchto odkazov by sme si
mohli vytvoriť ľubovoľné množstvo. Na vzdialenom repositá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 repositára laravel
. V
ňom spustíme príkaz git remote
, ktorým získame tento 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 repositá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é na lokálnom repositári, preto sa
na ne musíme odkazovať tak, že pred názov vzdialenej vetvy napíšeme meno
jej zdroja a lomítko. Ak chceme napríklad pristúpiť 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 repositára. V tom prípade by sme mali vetvy:
master
(v ktorej práve pracujeme),OriginalRepository/master
,FirstSource/master
,ThirdSource/master
.
Tieto vetvy sú na sebe nezávislé a môžeme s nimi pracovať oddelene bez toho, aby nastal problém duplicitných názvov.
Vytvorenie odkazu na vzdialený repositár
Teraz si vytvoríme odkaz na náš vzdialený repositár. Z naklonovaného
repositára laravel
sa presunieme späť do nášho vzdialeného
repositára mygit
.
Odkaz sa tvorí príkazom git remote
vo formáte
git remote add <source-name> <repository url>
. URL
nášho vzdialeného repositá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 repositárovi:
Teraz sa presunieme do nášho lokálneho repositára laravel
, v
ktorom si vytvoríme odkaz na vzdialený repositá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
Pokiaľ 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ľanie prístupu k nášmu repositárovi 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 repositárovi.
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 repositára sa dostaneme cez možnosť Settings nachádzajúce sa v ponuke nad repositárom:
Tu by sme mohli upraviť rôzne nastavenia repositá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ť repositára.
- Disable branch protection rules – odstráni ochranu vetvy.
- Transfer ownership – zmení vlastníka repositára.
- Archive this repository – označí tento repositár ako archivovaný a iba na čítanie.
- Delete this repository – zmaže repositár.
My si náš vzdialený repositár mygit
ponecháme na prácu v ďalších lekciách.
V budúcej lekcii, Git - Vzdialený repositár - Práca s repositárom, si ukážeme, ako na vzdialený repositár nahrať súbory, ako z neho stiahnuť aktualizácie a ako uzavrieť jeho Issue.