This is an old revision of the document!


Git. Indicații/Regulament folosire GitLab pentru proiect.

Atunci când colaborăm cu alte persoane la un același proiect este necesară folosirea unui sistem de versionare a surselor. Acesta ajută pentru a putea colabora la distanță și rezolvă problemele de partajare ale acelorași surse. Chiar și în cazurile în care suntem singurul dezvoltator al unui proiect, versionarea este indicată pentru că:

  • ajută la identificarea mai ușoară a schimbării care a introdus un bug
  • permite salvarea surselor în diferite stagii ale dezvoltării
  • permite revenirea la o versiune anume a surselor

Pentru PA propunem folosirea unui sistem de versionare numit git. Acesta este un sistem distribuit, open-source, care se comportă foarte bine în practică.

Folosire GitLab

Facultatea de Automatică și Calculatoare pune la dispoziție instanța GitLab (hosting), accesibilă tuturor studenților și membrilor facultății. Autentificarea se face pe baza contului de pe site-ul de cursuri.

Autentificare GitLab

  1. Accesați instanța GitLab.
  2. Autentificați-vă folosind contul de pe site-ul de cursuri.
  3. Ceea ce vedeți după autentificare este Dashboard-ul user-ului autentificat.

Setare profil și cheie SSH

  1. Accesați Profile settings (dreapta-sus)
  2. În stânga puteți vedea diferite categorii pentru setarea profilului:
    1. informații despre nume și e-mail se găsesc în tabul Profile. Lăsați-le pe cele de pe curs.cs (adresa de e-mail fiind cea de stud.acs.upb.ro)
    2. informații despre cont
    3. setarea felului în care veți vedea codul submis (tab-ul Design)
    4. puteți adăuga chiar și o adresă nouă de e-mail

În cadrul paginii Profile settings foarte important este adăugarea unei chei SSH.

Setare cheie SSH

  1. Generați-vă pe calculatorul vostru (pe Linux sau din Cygwin pe Windows) o cheie SSH:
$ ssh-keygen
  1. Dând enter după fiecare întrebare, veți obține o cheie SSH astfel:
    1. în /home/user/.ssh/id_rsa este cheia privată
    2. în /home/user/.ssh/id_rsa.pub este cheia publică
  2. În tab-ul Profile settings, pagina SSH keys de pe GitLab va trebui să adăugați această cheie astfel:
    1. Dați click pe Add key.
    2. Dați un nume acestei chei.
    3. Copiați conținutul cheii publice anterior generate în căsuța Key

Dacă aveți deja o cheie SSH o puteți folosi pe aceea, fără a mai fi nevoie să vă generați o nouă cheie. Va trebui în schimb să vă asigurați că pe mașina pe care lucrați adăugați cheia privată în /home/user/.ssh/ .

ATENȚIE: Cheia privată SSH oferă acces total la repository și la conținutul acestuia. NU partajați cheia privată cu nimeni altcineva, întrucât acea persoană va avea drepturi depline(citire, modificare, ștergere) asupra repository-ului de pe GitLab, precum și la alte resurse ce folosesc cheia privată pentru autentificare. Recomandarea noastră este să protejați cheia privată cu o parolă(passphrase).

Creare proiect nou

Odată autentificați pe GitLab, din Dashboard în partea stângă apare următorul meniu:

  • Projects: aceasta este pagina de gestionare a proiectelor. Aici puteți vedea toate proiectele în care sunteți implicat: fie ca owner, fie ca viewer/guest, fie ca developer.
  • Activity: care arată activitatea voastră: dacă v-ați alăturat unui nou proiect, dacă ați creat un nou proiect etc.
  • Groups: gestionarea grupurilor și vizualizarea grupurilor existente.
  • Milestones: gestionarea pașilor importanți ce țin de proiectele în care sunteți implicat.
  • Issues: posibile probleme active într-unul din proiectele voastre.
  • Merge Requests: oferă posibilitatea combinării branch-ului default (master-ului) cu un altul (în cazul rezolvării unui bug sau adăugării unui feature).
  • Snippets: bucăți de text ce pot fi făcute private sau publice.
  • Help: documentație GitLab.

Căpitanul echipei va crea un nou proiect în felul următor:

  1. Dați click pe New project (este un + în dreapta-sus, lângă butonul de Profile settings).
  2. Dați numele proiectului: l2-pa-project-teamname (sugerând anul 2 din ciclul de licență, materia PA, repository pentru proiectul de PA. String-ul 'teamname' va fi înlocuit cu numele echipei proiectului).
  3. Nivelul de vizibilitate trebuie să fie privat.
  4. Click Create project.
  5. După ce proiectul a fost creat, selectați tab-ul Members din cadrul acestui proiect (setting wheel, partea dreaptă)
    1. adăugați următorii utilizatori: radu.iacob, ion.birsu, teodor_mihai.cotet, mihai.grigore0711
    2. dați-le dreptul de access Reporter
    3. click pe Add users to project
    4. adăugați similar conturile coechipierilor, cu drepturi de acces Master. (asigurati-vă ca s-au autentificat cel puțin o dată pe gitlab.cs.pub.ro)

Acum puteți naviga prin fișierele existente în proiect și prin commit-urile din proiect: Files și Commits.

Structura Proiect

Proiectul trebuie să conțină un fișier numit 'Team_Log'. În acest fișier, fiecare membru va menționa periodic modul cum a contribuit la proiect (îmbunatățiri în cod, idei noi investigate, testare, etc.). Puteți să mentionați orice contribuție, inclusiv abordări care nu au funcționat.

Nu impunem alte restricții suplimentare legate de structura proiectului.

Folosire Git

Acum vă puteți clona local (puteți clona pe mai multe mașini, însă trebuie să aveți cheia privată corespunzătoare cheii publice de pe GitLab) acest repo folosind link-ul pentru SSH. Exemplu:

$ git clone git@gitlab.cs.pub.ro:nume.prenume/l2-pa-project-teamname.git
$ cd l2-pa-project-teamname.git

Puteți adăuga fișiere noi:

$ vim test.c
$ git add test.c
$ git commit -m "my first C file"
$ git push

Câteva tutoriale pentru folosirea Git sunt:

Resurse

pa/folosire-gitlab.1553963863.txt.gz · Last modified: 2019/03/30 18:37 by radu.iacob
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0