This is an old revision of the document!
Pentru a vă ușura munca în cadrul laboratoarelor de IRVA, vă recomandăm să lucrați cu Git & GitHub.
Laboratoarele de AR și VR for avea fiecare un repository pe GitHub - întrucât este posibil ca repo-urile să mai primească actualizări pe parcursul semestrului, ar fi ideal să urmați pașii descriși în acest ghid pentru a nu fi nevoie să va clonați / descărcați de multiple ori proiectul.
Link-uri către repo-uri:
Înainte de toate, asigurați-vă că aveți Git instalat, acesta se poate descărca de aici.
De asemenea, asigurați-vă că aveți un cont de GitHub creat.
Procedura recomandată pentru a putea lucra într-un singur repo este următoarea:
În continuare vă prezentăm procedura pentru a face setup-ul necesar.
De pe web page-ul repo-ului original (de pe GitHub), creați un Fork (aveți un buton special pentru acesta). Fork-ul va crea de fapt o copie a repo-ului original pe contul vostru.
Repo-ul forked, cel de pe contul vostru, va trebui să-l clonați pe mașina voastră locală.
Navigați la o locație preferată în sistemul vostru de fișiere, din Windows puteți face acolo click-dreapta, Properties > Git Bash here
pentru a deschida linia de comandă.
De pe repo-ul forked copiați link-ul către repo (butonul verde Code
).
În Git Bash, rulați comanda (atenție, schimbați voi comanda după necesitate)
// Repo AR git clone https://github.com/<username>/<nume_repo_ar_WIP> // Repo VR git clone https://github.com/<username>/<nume_repo_vr_WIP>
Acest pas este necesar pentru a putea primi actualizări în fork-ul vostru. Pentru a urmări repo-ul original, rulați urmatoarea comanda Git (atenție, schimbați voi comanda după necesitate):
git remote add upstream <link_repo_original_ar_sau_vr>
Puteți lucra în mod obișnui pe repo-ul forked (local). În cazul în care doriți să-l actualizați, de exemplu în urma rezolvării unui laborator, puteți rula:
Pentru a face staging - anume, pentru a specifica fișierele pe care dorim să le supunem unui commit:
git add .
git add .
pune toate schimbarile în staging area. Ideal, vă recomandăm să verificați în prelabil ce fișiere vor fi incluse în staging area
Așadar, o comanda foarte utilă pentru a vedea starea curentă este:
git status
În continuare, după staging, trebuie să faceți commit
, care aplică modificările local:
git commit -m "Message here"
În final, pentru a actualiza schimbările pe remote, trebuie să faceți push:
git push
git status
si aveți fișiere marcate cu roșu (untracked), faceți poți pașii de la 4, dacă aveți fișiere marcate cu verde (staged), faceți pașii de la 4 fără staging (commit
, push
)
Pentru a vizualiza eventuale schimbări în repo-ul original, rulați comanda:
git fetch upstream
Pentru a aplica modificările, rulați:
Fie comanda
git merge upstream/master
Fie comanda
git pull upstream master
În esență, pull
face fetch
și merge
într-o singură acțiune, așadar cea mai rapida variantă este să rulați direct:
git pull upstream master
După acest pas se va deschide în bash un fișier în modul de editare al merge-ului.
Pentru a ieși din acest mod rulați :q
.
Dacă acum rulați comanda git status
ar trebui să primiți un mesaj care va informează că varianta voastra locală este în urmă. Pentru a aplica modificările, rulați:
git push
În final, puteți vedea istoricul de commit-uri folosind comanda:
git log --oneline
În mod alternativ, există tool-uri vizuale ce vă ajută să studiați aceast istoric, noi recomandăm: