Gitové repozitáře a projekty lze zakládat různými způsoby.
Pokud ovšem dodržíte níže popsaný postup, je velká šance, že vám vše bude fungovat napoprvé :-)
Na webu gitlab.com si otevřete svoji školní osobní složku (v terminologii GitLabu "skupinu").
Klikněte nejprve vlevo nahoře na menu (tři vodorovné čárky) a vyberte "Groups" -> "View all groups"
Přímý link: https://gitlab.com/dashboard/groups
Proklikejte se postupně do své osobní složky touto cestou (hierarchií skupin):
"SSSVT" -> "Studenti" -> "Zkratka vaší třídy a skupiny (např. G4Ask1)" -> "Vaše osobní složka (např. sssvt-novak-jan-s)"
Přímý link (nahraďte v šabloně svoji třídu a skupinu jejím kódem a doplňte svoji osobní složku, pro kód třídy je mustr z<rok-začátku-studia><písmeno-vaší-třídy><vaše-skupina>, např. pro G4Ask1, která začínala v roce 2019, to bude "z2019ask1"):
https://gitlab.com/sssvt-all/studenti/<kód-třídy-skupiny>/<osobní-složka>
Například:
Pro Jana Nováka (s osobní složkou sssvt-novak-jan-s) z 1. skupiny ze třídy G4.A, která začala na škole v roce 2019, bude link:
https://gitlab.com/sssvt-all/studenti/z2019ask1/sssvt-novak-jan-s
Nový repozitář (v terminologii GitLabu "project") vytvoříte tím, že kliknete na modré tlačítko "New project" vpravo nahoře ve vaší osobní složce.
Vyberte "Create blank project".
Zadejte vhodné jméno projektu/repozitáře, ostatní nechte v "default" nastavení (bude to "Private" repozitář, nechte zaškrtnuto "Initialize repository with a README").
Klikněte na "Create project".
Poté, co se na GitLabu založí nový repozitář (projekt), otevře se vám "domovská" stránka toho projektu, tzv. dashboard.
Otevřete si Windows Explorer (File Explorer) a (nejlépe na logickém disku X: ve sdílených školních složkách)
si připravte adresář (pro první gitlabový projekt nejspíš prázdný), kam si naklonujete svůj repozitář z GitLabu.
Např.: X:\MyProjects
Otevřete ve Windows Exploreru ten adresář z předešlého odstavce a klikněte do něj pravým tlačítkem myši (do prázdného místa, ne na jeho podadresáře, pokud už tam máte jiné projekty).
Z kontextového menu vyberte "Git Ext Clone..."
Pokud jste Git Extensions spustili poprvé, klikněte na britskou vlajku, aby s vámi Git Ext komunikovalo anglicky. Je pravděpodobné, že se vám objeví okno, které říká, že máte špatně nastavený (chybějící) ".gitconfig". Klikněte na "Repair" a vyplňte nahoře své jméno (např. "Jan Novák") a svoji školní emailovou adresu. Ostatní opravovat nemusíte. Odškrtněte "Check settings at startup..." a potvrďte tlačítkem "OK".
Nyní se vám otevře dialog, kde je předvyplněné "Destination". Vy musíte vložit URL vašeho gitlabového repozitáře do "Repository to clone".
URL vašeho repozitáře získáte tak, že v browseru na dashboardu vašeho nově založeného repozitáře/projektu
kliknete na modré tlačítko "Clone" a do schránky si zkopírujete cestu (URL) začínající https (Clone with HTTPS).
Nepoužívejte protokol SSH! Je dost složitý na konfiguraci.
Klikněte na tlačítko "Clone". Jste-li vyzvání k zadání uživatelského jména a hesla, použijte gitlabové jméno a heslo, tj. např. "sssvt-novak-jan" (plus vaše heslo, které jste použili pro založení gitlabového účtu), nikoliv credentials do školní LAN.
V připraveném adresáři (např. X:\MyProjects) by měl vzniknout nový, tzv. pracovní adresář, který se jmenuje stejně jako váš repozitář na GitLabu. Když ho ve Windows Exploreru otevřete, měly by tam být pouze 2 položky:
Upravte (např. v Notepadu) soubor README.md tak, že odmažete vše až na úplně první řádek, kde je hash a jméno vašeho projektu.
Dejme tomu, že se váš repozitář (projekt) na GitLabu jmenuje "FirstProject" (firstproject). Přidejte do pracovního adresáře s vaším projektem (např. X:\MyProjects\firstproject) ještě soubor .gitignore. Soubor z pohledu Windows "nemá" název, pouze příponu "gitignore", proto jeho celé jméno začíná tečkou.
Pozor, pokud jste si soubor ".gitignore" stáhli z tohoto webu a uložil se vám jako "gitignore" (bez té úvodní tečky), musíte ho u sebe na file systému přejmenovat tak, že ta tečka na začátku bude. Jinak ho Git při commitech nerozpozná.
V pracovním adresáři s vaším novým projektem klikněte pravým tlačítkem myši někde mimo již existující soubory a složky. Z kontextového menu vyberte "Git Ext Open Repository".
Otevře se vám okno nástroje Git Extensions pro práci s lokálním repozitářem – pro gitové operace add, commit, push a pull. V pravém horním (největším) panelu vidíte seznam commitů (verzí projektu) ve vašem lokálním repozitáři. Zatím je tam jediný commit s komentářem "Initial commit", který za nás "udělal" GitLab s tím, že do repozitáře přidal soubor README.
V horní nástrojové liště někde uprostřed je tlačítko "Commit" (s textem "Commit (2)", což znamená dva změněné soubory od posledního commitu). Klikněte na tlačítko "Commit".
Otevře se další okno, rozdělené zhruba na 4 panely.
Levý horní panel zobrazuje soubory, které byly změněny (nebo jsou nové) od posledního commitu do našeho lokálního repozitáře, ale zatím nejsou připravené ke commitu.
Soubory, které chceme přidat do nové verze (do následujícího commitu), vybereme a pomocí tlačitka "Stage" mezi levým horním a levým dolním panelem je přesuneme seshora dolů.
Levý dolní panel zobrazuje soubory, které byly v pracovním adresáři změněné (nebo přibyly jako nové) od posledního commitu a změny budou zahrnuty do následujícího commitu.
Jakmile jsme všechny změny připravili ke commitu, přidáme stručný komentář vysvětlující, proč commit (novou verzi) vlastně děláme, a hned potom můžeme commit provést.
Pravý dolní panel slouží k editaci komentáře, který se k nové verzi našeho projektu při commitu připojí.
Já osobně používám tyto klíče na začátku komentáře u každého commitu pro označení kategorie (typu) změny:
Nakonec klikneme na tlačítko "Commit" vedle panelu pro komentář. Tím se změny v pracovním adresáři uložily do našeho lokálního repozitáře (složka ".git"). (Na serveru zatím nejsou.)
Po potvrzení commitu bychom měli opět vidět okno Git Extensions s naším lokálním repozitářem a jeho verzemi (commity).
Kromě "Initial commit" by tam měl být ještě jeden commit s komentářem, který jsme před chvílí přidali.
Nyní už zbývá pouze odeslat nové commity (zde konkrétně jeden nový commit), které jsou zatím pouze v našem lokálním repozitáři, na GitLab server do serverového repozitáře.
V horní nástrojové liště nalevo od tlačítka "Commit" je tlačítko s modrou šipkou nahoru pro operaci "push". Kliknutím na tlačítko by se měly nové commity na GitLab odeslat.
Pokud už máme soubory a složky pro VS solution a VS project, tedy soubory a složky projektu, který aktuálně vyvíjíme, připravené, stačí je nakopírovat do pracovního adresáře tam, kam jsme předtím přidali soubor ".gitignore".
Pokud VS solution/project ještě nemáme, můžeme je založit rovnou v tom pracovním adresáři, abychom je pak už nemuseli přesouvat/kopírovat.
Tento krok je velmi podobný kroku 5 pro vytvoření druhé verze našeho lokálního repozitáře.
Vybereme "Git Ext Open repository", klikneme na tlačítko "Commit" na horní liště, na dalším okně přesuneme soubory z levého horního panelu do levého dolního. Vyplníme komentář ke commitu a klikneme na "Commit".
(git add a git commit)Tento krok je zase podobný kroku 6. Změny odešleme z pracovní stanice na server tak, že klikneme na tlačítko s modrou šipkou nahoru (na nástrojové liště, vedle "Commit").
Nyní již můžeme přejít k tomu, kvůli čemu to celé děláme: můžeme začít programovat, zahájit vývoj našeho .NETového projektu.
Vždy, když naprogramujeme nějakou část, uděláme pak obdobu kroků 5 a 6, tj. vytvoření verze (git add, git commit) a odeslání na server (git push).
K práci s GitLabem není potřeba VPN přístup do školy. Stačí funkční připojení k internetu. Pokud pracujete na jednom projektu na různých místech (na různých počítačích), případně pokud jde o týmový projekt, je třeba si čas od času zaktualizovat svůj lokální repozitář změnami, které byly provedeny na serveru (z jiných počítačů, ať už našich nebo našich spolužáků/team-mate-ů na projektu).
Předpokládejme, že jsme si již vytvořili klon serverového repozitáře, čili na pracovní stanici již máme pracovní adresář s projektem a lokálním repozitářem. Před aktualizací ze serveru je dobré provést commit (nikoliv však push).
Ve Windows Exploreru v pracovním adresáři mimo existující soubory a složky klikněte pravým tlačítkem myši a z kontextového menu vyberte "Git Ext Open repository".
V okně Git Extensions, které graficky zobrazuje stav vašeho lokálního repozitáře a pracovního adresáře, stačí kliknout v horní nástrojové liště na tlačítko s modrou šipkou dolů (operace git pull). Pokud jsou na GitLabu novější verze (commity) k vašemu projektu, stáhnou se k vám na lokální stanici. V opačném případě se zobrazí pouze "Already up to date".
Po aktualizaci ze serveru (operaci "git pull") mohou nastat 4 případy:
Pokud jste museli "merge-ovat" (spojovat) svoje změny se změnami na serveru, je dobré ihned po případném vyřešení konfliktů a po "merge commitu" odeslat (pomocí git push) všechny změny zpět na server. Jinak budete muset zanedlouho merge-ovat znovu.