Lekce 11 - Git - Vzdálený repositář - Vytvoření a nastavení repositáře
V minulé lekci, Git - Vzdálený repositář - 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 repositář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 repositáře na platformě GitHub
Než budeme moci nahrát náš lokální repositář do vzdáleného repositáře na platformě GitHub, musíme si vzdálený repositář nejdříve vytvořit. Nový repositář 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í repositáře:
Název a popis repositáře
Do pole Repository name vložíme název našeho repositáře
mujgit
. Do pole Description vložíme krátký popis
repositáře Testovací repositář
.
Viditelnost repositáře
Dále máme k dispozici dvě možnosti pro viditelnost repositáře:
- Public – repositář je veřejně přístupný pro všechny.
- Private – repositář 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
repositáři soubor README.md
. Tuto volbu ponecháme prázdnou.
Soubor README.md
je obvykle umístěný v
kořenovém adresáři repositáře a slouží k poskytnutí užitečných
informací o projektu, aplikaci nebo repositář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 repositář licenci. Ponecháme
None.
Vyplněný formulář založení repositáře vypadá následovně:
Nyní již jen klikneme na tlačítko Create repository. Na stránce bude zobrazen nově vytvořený repositář se všemi zadanými informacemi:
Na této stránce nám GitHub nabízí možnost propojení GitHub
Copilot s naším repositářem, přidat další
uživatele k našemu repositáři a poskytuje další informace pro
práci s naším repositářem mujgit
.
Nastavení vzdáleného repositáře
U našeho repositáře mujgit
si ukážeme nastavení:
- sekce Issues,
- odkazu,
- přístupu pro uživatele,
- další nastavení.
Sekce Issues
V každém repositář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 repositář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:
Repositář 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 repositáře má možnost uzavřít
či odstranit issue.
Opětovným kliknutím na Issues v horním menu uvidíme všechna
issues vytvořená pro náš repositář:
Odkaz
Další možností v nastavení je vytvoření odkazu z našeho lokálního repositáře na repositář vzdálený. Tento odkaz je nutný pro připojení se z lokálního repositáře na vzdálený repositář, abychom do něj mohli nahrát soubory.
Seznam odkazů na vzdálené repositáře vyvoláme příkazem
git remote
. Bez parametrů zobrazí seznam všech odkazů. Je-li
repositář naklonovaný, bude již obsahovat odkaz na zdroj s názvem
origin
, ze kterého repositář pochází. Těchto odkazů bychom
si mohli vytvořit libovolné množství. Na vzdáleném repositář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 repositář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 repositář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 repositář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 repositář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ý repositář
Nyní si vytvoříme odkaz na náš vzdálený repositář. Z naklonovaného
repositáře laravel
se přesuneme zpět do našeho vzdáleného
repositáře mujgit
.
Odkaz se tvoří příkazem git remote
ve formátu
git remote add <název-zdroje> <url repositáře>
. Url
našeho vzdáleného repositáře mujgit
získáme ze sekce
Quick setup repositář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 repositáři:
Nyní se přesuneme do našeho lokálního repositáře laravel
,
ve kterém si vytvoříme odkaz na vzdálený repositář 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 repositář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 repositář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 repositáře se dostaneme přes možnost Settings nacházející se v nabídce nad repositářem:
Zde bychom mohli upravit různá nastavení repositář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 repositáře.
- Disable branch protection rules – odstraní ochranu větve.
- Transfer ownership – změní vlastníka repositáře.
- Archive this repository – označí tento repositář jako archivovaný a pouze pro čtení.
- Delete this repository – smaže repositář.
My si náš vzdálený repositář mujgit
ponecháme pro práci v dalších lekcích.
V příští lekci, Git - Vzdálený repositář - Práce s repositářem, si ukážeme, jak na vzdálený repositář nahrát soubory, jak z něj stáhnout aktualizace a jak uzavřít jeho issue.