Táto stránka poskytuje základný návod, ako synchronizovať repozitár na virtuálke s vaším vzdialeným repozitárom umiestneným na službe GitLab.
Na prvom cvičení postupujte podľa sekcie Vytvorenie vzdialeného repozitára a prvé nahratie. Na ďalších cvičeniach potom podľa sekcie Stiahnutie repozitára na cvičení.
V prípade, že máte ťažkosti s nejakým príkazom, alebo chcete zistiť, čo robí, preštudujte si jeho manuálovú stránku: man git. Manuálovú stránku má tiež každý príkaz gitu, napr. man git commit.
Ak si chcete naštudovať úvod pre prácu s gitom, pozrite si manuálové stránky man gittutorial (úvodný tutoriál) a man giteveryday (základné príkazy).
Tento návod platí len pre prvé cvičenie na školských počítačoch.
Na PC s repozitárom xv6 zadajte príkazy:
1 2 |
git config --global user.name "Meno Priezvisko" git config --global user.email meno@domena.tld |
kde nahradíte reťazec Meno Priezvisko
svojím menom a namiesto meno@domena.tld
uvediete svoju e-mailovú adresu.
Prejdite do priečinka ~/xv6-labs-2024
a zadajte príkaz git remote add gitlab https://gitlab.com/<meno>/<nazov>.git
, kde <meno>
je vaše meno na GitLabe a <nazov>
je názov vášho repozitára (ostré zátvorky tam nezadávajte).
Týmto ste do lokálneho repozitára pridali odkaz na vzdialený repozitár (remote) s názvom gitlab
.
push
). Urobíte to príkazom git push -u gitlab
. Git si potom vyžiada meno a heslo na pripojenie do vzdialeného repozitára, zadajte tam vaše prihlasovacie údaje pre GitLab. Pre vizualizáciu tejto operácie pozri obr. 1. Na ďalších cvičeniach už budete začínať operáciou pull
, kedy si stiahnete zmeny zo vzdialeného repozitára do lokálneho vo virtuálke. Po dokončení práce na cvičení (alebo doma) by ste si mali túto prácu nahrať na váš vzdialený repozitár. Na to je potrebné vytvoriť commit a vykonať operáciu push
. Postupujte podľa návodu v sekcii Commit a push.
Obraz disku na virtuálke v učebni je nemeniteľný a po vypnutí virtuálky sa automaticky resetuje. Ak si prácu nenahráte na vzdialený repozitár, prídete o svoje zmeny!
Tento návod platí pre prácu na školských počítačoch, keď už máte vytvorený vlastný repozitár s nahratými zdrojákmi.
Na virtuálke s repozitárom xv6 zadajte príkazy:
1 2 |
git config --global user.name "Meno Priezvisko" git config --global user.email meno@domena.tld |
kde nahradíte reťazec Meno Priezvisko
svojím menom a namiesto meno@domena.tld
uvediete svoju e-mailovú adresu.
Prejdite do priečinka xv6-labs-2024
a zadajte príkaz git remote add gitlab https://gitlab.com/<meno>/<nazov>.git
, kde <meno>
je vaše meno na GitLabe a <nazov>
je názov vášho repozitára (ostré zátvorky tam nezadávajte).
Týmto ste do lokálneho repozitára pridali odkaz na vzdialený repozitár (remote) s názvom gitlab
.
git pull gitlab
(vizualizácia na obr. 2).Táto sekcia popisuje bežné úkony, ktoré budete s repozitárom vykonávať.
Commity by mali predstavovať nejakú zmysluplnú a ucelenú zmenu kódu. Môže sa jednať o pridanie novej funkcionality, opravu chyby, pridanie dokumentácie alebo iné. Jedna úloha na cvičení obvykle predstavuje takúto ucelenú funkcionalitu. Po dokončení tejto úlohy by ste teda mali úpravy commitnúť do repozitára. Najprv určíte, ktoré súbory budú súčasťou ďalšieho commitu a pridáte ich do indexu:
1 |
git add user/sleep.c Makefile |
Týmto ste do indexu pridali súbory user/sleep.c
a Makefile
. Potom commit potvrdíte príkazom:
1 |
git commit -m 'feat: implement sleep' |
Ak nepoužijete prepínač -m
, otvorí sa editor1 a v ňom môžete pohodlnejšie napísať dlhšiu správu. Pre štruktúru správ postupujte podľa špecifikácie Conventional Commits 1.0.0.
Nový commit sa zatiaľ nachádza iba vo vašom lokálnom repozitári. Aby ste ho umiestnili na váš vzdialený repozitár, je potrebné zavolať git push gitlab
. Týmto príkazom sa zmeny v aktuálnej vetve nahrajú na váš vzdialený repozitár na GitLabe. Kroky, ktoré ste vykonali sú vizualizované na obr. 3.
Pri prepínaní vetvy príkazom git switch <vetva>
git automaticky vytvorí lokálnu vetvu a prepojí ju so vzdialenou vetvou podľa jej názvu. Táto vzdialená vetva sa označuje ako upstream lokálnej vetvy. Problém nastane, ak existujú dve vetvy s rovnakým názvom na rôznych vzdialených repozitároch. Taká situácia môže nastať, ak vo svojom vzdialenom repozitári na GitLabe už máte vetvu, ktorá zároveň existuje na repozitári MIT a lokálny repozitár o oboch vzdialených vetvách vie. V takomto prípade novú vetvu vytvoríte (podľa vetvy na GitLabe) a prepnete sa na ňu príkazom:
1 |
git switch -c <vetva> --track gitlab/<vetva> |
Ak ešte nemáte nakonfigurovaný git, na vašom PC zadajte príkazy:
1 2 |
git config --global user.name "Meno Priezvisko" git config --global user.email meno@domena.tld |
kde namiesto Meno Priezvisko
uvediete svoje meno a namiesto meno@domena.tld
uvediete svoju e-mailovú adresu.
Ak nerobíte na nami poskytnutej virtuálke, musíte si naklonovať xv6 zo serverov MIT. V domovskom (alebo vami vybranom) priečinku zadajte príkazy:
1 2 |
git clone git://g.csail.mit.edu/xv6-labs-2024 cd xv6-labs-2024 |
Prejdite do priečinka ~/xv6-labs-2024
a zadajte príkaz git remote add gitlab https://gitlab.com/<meno>/<nazov>.git
, kde <meno>
je vaše meno na GitLabe a <nazov>
je názov vášho repozitára (ostré zátvorky tam nezadávajte).
Týmto ste do lokálneho repozitára pridali odkaz na vzdialený repozitár (remote) s názvom gitlab
.
git pull gitlab
. Kroky, ktoré ste urobili sú vizualizované na obr. 4.1 štandardne nano, ale viete si ho zmeniť na iný pomocou príkazu git config --global core.editor <editor>