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 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ă vă clonați / descărcați de multiple ori proiectul.
Link către Git repo
Î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.
Nu uitați să vă instalați și Git LFS.
Procedura recomandată pentru a putea lucra într-un singur repo clonat pe sistemul vostru 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:
git clone https://github.com/UPB-Graphics/IRVA.git
git@github.com:UPB-Graphics/IRVA.git
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:
git remote add upstream https://github.com/UPB-Graphics/IRVA.git
Puteți lucra în mod obișnuit pe repo-ul forked (local). În cazul în care doriți să-l actualizați, de exemplu în urma rezolvării unui laborator, faceți referire la următorii pași.
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 prealabil 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/main
Fie comanda
git pull upstream main
Î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 main
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 vă 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: