Git. Indicații folosire GitLab

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

Câteva exemple de sisteme de versionare sunt:

  • SVN
  • Mercurial
  • Git
  • Perforce

O scurtă analiză a acestora este Version control systems.

Pentru SO2 propunem folosirea git din varii motive:

  • funcționează foarte bine pentru proiecte ce conțin doar fișiere (Atenție nu adăugați binare)
  • este un sistem distribuit
  • este light
  • este open-source
  • există instanța GitLab a facultății, unde fiecare student își poate crea până la maxim 10 proiecte.

Folosire GitLab

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

Automatizarea creării unui repo pe GitLab

Echipa de SO2 pune la dispozție un script pentru automatizarea creării unui repo privat pe GitLab și a unei clone locale. Astfel, un student nu va trebui să-și creeze singur proiectul în GitLab, ci doar va rula acest script.

Acest script este încă în perioada de testare și dezvoltare. Orice probleme întâlniți pe sistemele voastre vă rugăm să ni le raportați. De asemenea, puteți contribui la îmbunătățirea scriptului prin patch-uri sau prin semnalarea unor probleme pe github.

Scriptul este disponibil pe GitHub, în repo-ul public dedicat temelor de SO2. Îl puteți descărca local folosind comanda:

wget https://raw.githubusercontent.com/systems-cs-pub-ro/so2-assignments/master/so2-create-repo.sh

Imaginea următoare prezintă pe scurt entitățile gestionate și acțiunile realizate de către script:

 Workflow-ul scriptului de automatizare

La prima rulare, scriptul va crea un repo privat pe GitLab și o clonă în directorul curent al mașinii unde a fost rulat. În acest moment repo-ul privat al studentului și clona de pe mașina sa vor fi copii fidele ale repo-ului public al temelor de SO2.

Inițial scriptul va instala pachetele necesare pentru a rula și va realiza autentificarea cu serverul de GitLab, cerând utilizatorului credențialele de pe curs.cs.pub.ro. Următorul pas este să ofere posibilitatea de a încărca pe GitLab o cheie publică pentru SSH; în cazul în care nu există vreuna pe mașina locală, scriptul va genera o pereche de chei RSA. La final, va adăuga asistenții de SO2 responsabili de teme ca observatori ai proiectului de pe GitLab.

La următoarele rulări scriptul va încerca să sincronizeze clona locală cu repo-ul public. Astfel, dacă echipa de SO2 face unele modificări în repo-ul public voi vă puteți actualiza clona locală rulănd scriptul.

Mai departe, puteți interacționa cu repo-ul vostru privat prin git: o operație push va trimite modificările voastre în repo-ul de pe GitLab.

Pentru mai multe informații despre script, urmăriți README-ul asociat repo-ului public de pe GitHub.

Folosire Git

Câteva tutoriale pentru folosirea Git sunt:

so2/teme/folosire-gitlab.txt · Last modified: 2017/02/26 22:25 by adrian.stanciu
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