Lekce 11 - Git - Vzdálený repozitář - Vytvoření a nastavení repozitáře
V minulé lekci, Git - Vzdálený repozitář - GitHub a protokoly HTTPS a SSH, jsme si založili profil na GitHubu. Ukázali jsme si, jak nastavit Git pro připojení přes protokoly HTTPS a SSH.
V dnešním Git tutoriálu budeme pokračovat v práci se vzdáleným repozitářem. Ten si vytvoříme na platformě GitHub a ukážeme si jeho důležitá nastavení včetně vytvoření issue, odkazu a přístupu pro uživatele.
Vytvoření vzdáleného repozitáře na platformě GitHub
Než budeme moci nahrát náš lokální repozitář do toho vzdáleného na platformě GitHub, musíme si vzdálený repozitář nejdříve vytvořit. Nový repozitář vytvoříme kliknutím na tlačítko + a výběrem New repository:
Po kliknutí na možnost New repository budeme přesměrováni na tuto stránku vytvoření repozitáře:
Název a popis repozitáře
Do pole Repository name vložíme název našeho repozitáře
mujgit
. Do pole Description vložíme krátký popis
repozitáře Testovací repozitář
.
Viditelnost repozitáře
Dále máme k dispozici dvě možnosti pro viditelnost repozitáře:
- Public – repozitář je veřejně přístupný pro všechny.
- Private – repozitář je soukromý a přístup mají pouze vybraní uživatelé, kterým je povolen přístup.
My vybereme Public.
README.md
,
.gitignore
soubory a licence
Pokud bychom zvolili možnost Add a README file, vytvořil by se v
repozitáři soubor README.md
. Tuto volbu ponecháme prázdnou.
Soubor README.md
je obvykle umístěný v
kořenovém adresáři repozitáře a slouží k poskytnutí užitečných
informací o projektu, aplikaci nebo repozitáři.
Podobně možnost Add .gitignore by vytvořila soubor
.gitignore
z předdefinovaných šablon. Tuto volbu necháme
předvyplněnou na None. Nakonec je nám volbou Choose a
license poskytnuta možnost vybrat pro repozitář licenci. Ponecháme
None.
Vyplněný formulář založení repozitáře vypadá následovně:
Nyní již jen klikneme na tlačítko Create repository. Na stránce bude zobrazen nově vytvořený repozitář se všemi zadanými informacemi:
Na této stránce nám GitHub nabízí možnost propojení GitHub
Copilotu s naším repozitářem či přidání dalších
uživatelů k našemu repozitáři. Také nám poskytuje další
informace pro práci s naším repozitářem mujgit
.
Nastavení vzdáleného repozitáře
U našeho repozitáře mujgit
si ukážeme nastavení:
- sekce Issues,
- odkazu,
- přístupu pro uživatele,
- další nastavení.
Sekce Issues
V každém repozitáři je k dispozici možnost vytvářet tzv.
issue. V rámci issue mají vývojáři aktivní prostor pro
diskusi a prezentaci různých přístupů a návrhů na řešení daného
problému.
My si nyní takové issue vytvoříme. V horním menu našeho repozitáře
mujgit
klikneme na možnost Issues:
Otevře se nám stránka s issues. Nové issue vytvoříme kliknutím na New issue:
Po kliknutí na New issue se přesuneme na stránku tvorby nového
issue. Zde nové issue pojmenujeme Testovací issue
a do pole
Add a description vložíme popis problému:
Repozitář je prázdný
:
Pro efektivní pojmenování issue je klíčové využití stručného a specifického popisu, zahrnutí klíčových slov pro jasnější popis obsahu problému nebo úkolu.
Pak klikneme na tlačítko Submit new issue. Budeme přesunuti na detailní stránku issue:
Na stránce vidíme kompletní popis issue včetně jeho vytvoření a
možností diskuse. Majitel repozitáře má možnost issue
uzavřít či odstranit.
Opětovným kliknutím na Issues v horním menu uvidíme všechna
issues vytvořená pro náš repozitář:
Odkaz
Další možností v nastavení je vytvoření odkazu z našeho lokálního repozitáře na repozitář vzdálený. Tento odkaz je nutný pro připojení se z lokálního repozitáře na ten vzdálený, abychom do něj mohli nahrát soubory.
Seznam odkazů na vzdálené repozitáře vyvoláme příkazem
git remote
. Bez parametrů zobrazí seznam všech odkazů. Je-li
repozitář naklonovaný, bude již obsahovat odkaz na zdroj s názvem
origin
, ze kterého repozitář pochází. Těchto odkazů bychom
si mohli vytvořit libovolné množství. Na vzdáleném repozitáři může
existovat více větví. K větvím na serveru přistupujeme přes odkaz. Seznam
větví na serveru získáme příkazem
git remote show <název-zdroje>
.
Přesuňme se do našeho naklonovaného repozitáře laravel
. V
něm spustíme příkaz git remote
, kterým získáme tento
výstup, jak jsme popsali výše:
MINGW64:/c/mujgit/laravel ItNetwork@DESKTOP-ADEVTG4 MINGW64 /c/mujgit/laravel (10.x) $ git remote origin ItNetwork@DESKTOP-ADEVTG4 MINGW64 /c/mujgit/laravel (10.x) $
V repozitáři laravel
nyní spusťme příkaz
git remote show origin
, kterým získáme následující
výstup:
MINGW64:/c/mujgit/laravel ItNetwork@DESKTOP-ADEVTG4 MINGW64 /c/mujgit/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) ItNetwork@DESKTOP-ADEVTG4 MINGW64 /c/mujgit/laravel (10.x) $
Pod Remote branches:
vidíme seznam vzdálených
větví. Tyto větve jsou nezávislé na lokálním repozitáři, proto
se na ně musíme odkazovat tak, že před název vzdálené větve napíšeme
jméno jejího zdroje a lomítko. Chceme-li například
přistoupit na větev middleware
ze zdroje origin
,
použijeme příkaz git checkout origin/middleware
.
Mohli bychom mít několik zdrojů vycházejících z jednoho repozitáře. V tom případě bychom měli větve:
master
(ve které právě pracujeme),PuvodniRepositar/master
,PrvniZdroj/master
,TretiZdroj/master
.
Tyto větve jsou na sobě nezávislé a můžeme s nimi pracovat odděleně, aniž nastane problém duplicitních názvů.
Vytvoření odkazu na vzdálený repozitář
Nyní si vytvoříme odkaz na náš vzdálený repozitář. Z naklonovaného
repozitáře laravel
se přesuneme zpět do našeho vzdáleného
repozitáře mujgit
.
Odkaz se tvoří příkazem git remote
ve formátu
git remote add <název-zdroje> <url repozitáře>
. Url
našeho vzdáleného repozitáře mujgit
získáme ze sekce
Quick setup repozitáře mujgit
. V této sekci si vybereme
protokol HTTPS a z pravého pole si zkopírujeme do schránky
odkaz k našemu repozitáři:
Nyní se přesuneme do našeho lokálního repozitáře laravel
,
ve kterém si vytvoříme odkaz na vzdálený repozitář mujgit
následujícím příkazem:
MINGW64:/c/mujgit ItNetwork@DESKTOP-ADEVTG4 MINGW64 /c/mujgit (main) $ git remote add origin https://github.com/testovaciUser/mujgit.git ItNetwork@DESKTOP-ADEVTG4 MINGW64 /c/mujgit (main) $
V případě protokolu SSH by byl příkaz
následující: git remote set-url origin [email protected]:testovaciUser/mujgit.git
Pokud bychom chtěli odkaz smazat, použili bychom příkaz
git remote remove <název-zdroje>
.
Přístup pro uživatele
GitHub umožňuje sdílení přístupu k našemu repozitáři s více uživateli. To znamená, že pokud pracujeme na projektu s více vývojáři, můžeme je pozvat a povolit jim přístup k našemu repozitáři.
Nastavení přístupu nalezneme v možnosti Collaborators:
Nového uživatele bychom přidali kliknutím na možnost Add people a vyplněním tohoto formuláře:
Další nastavení
K dalším nastavením repozitáře se dostaneme přes možnost Settings nacházející se v nabídce nad repozitářem:
Zde bychom mohli upravit různá nastavení repozitáře, například jeho název, hlavní větev, přístupová práva či oprávnění pro další uživatele. V Settings nalezneme i tuto Danger Zone:
Na obrázku vidíme:
- Change repository visibility – změní viditelnost repozitáře.
- Disable branch protection rules – odstraní ochranu větve.
- Transfer ownership – změní vlastníka repozitáře.
- Archive this repository – označí tento repozitář jako archivovaný a pouze pro čtení.
- Delete this repository – smaže repozitář.
My si náš vzdálený repozitář mujgit
ponecháme pro práci v dalších lekcích.
V příští lekci, Git - Vzdálený repozitář - Práce s repozitářem, si ukážeme, jak na vzdálený repozitář nahrát soubory, jak z něj stáhnout aktualizace a jak uzavřít jeho issue.