Sunteți pe pagina 1din 13

Git

Ceclan Madalina Alexandra

Git este un sistem control al versiunilor care rulează pe majoritatea


platformelor, inclusiv Linux, POSIX, Windows și OS X. Git este un sistem
distribuit și nu întreține o bază de date comună. Este folosit în echipe de
dezvoltare mari, în care membrii echipei acționează oarecum independent și
sunt răspândiți pe o arie geografica mare.

Sisteme de versionare – scurta introducere

Sistemele de versionare permit gestionarea versiunilor multiple a unor fisiere,


precum si asigurarea lucrului colaborativ asupra acestor fisiere. Fiecare
modificare va fi inregistrata continand atat diferentele noii versiuni (revision),
precum si autorul acestei noi versiuni. Aceste sisteme au fost concepute pentru a
permite membrilor mai multor echipe sa opereze modificari pe acelasi proiect,
aceste modificari urmand a fi reunite intr-o noua versiune a proiectului.

Terminologie

● repository – componenta server ce contine informatii privind ierarhia de


fisiere si reviziile
● checkout – preluarea in mediul local a unei anumite revizii publicate pe
server
● working copy – versiunea locala a proiectului
● commit – cerere de publicare pe server a unor modificari

● pull – actiunea de actualizare (update) a informatiilor locale cu cele de pe


server
● conflict – apare atunci cand mai multi utilizatori vor sa publice modificari
aplicate acelorasi fisiere din proiect, insa sistemul de aplicare a
versiunilor diferite nu poate imbina modificarile
● revert – revenirea la o versiune anterioara pe un anume fir de dezvoltare
(branch)
● branch – ramuri secundare de dezvoltare a proiectului

● tag – branch “read-only” ce nu mai permite modificari ulterioare (folosit


uneori pentru versiunile stabile si deriva dintr-un branch)

Mod de functionare

Pentru a fi optimizat procesul de stocare a modificarilor survenite de fisierele


din proiect, in momentul in care aceste modificari sunt publicate, ele sunt
stocate sub forma unui patch (diff) ce urmeaza a fi aplicat in noua versiune –
procedeu numit delta compression.

Diagrama de functionare GIT:


Instalare

Linux:

● se va folosi urmatoarea linie de comanda:

sudo apt-get install git

● creare repository:
mkdir test -> crearea unui nou folder nou in care se vor urmari toate
modificarile facute
cd test -> accesare folderului
git init -> Intializare Git si creare de repository nou
● configurare Git
git config user.name "Madalina Ceclan" -> crearea unui nou user
git config user.email "madalina.ceclan@gmail.com" -> asocierea adresei
de email
● Modificari in repository exemple :
○ crearea unui fisier nou -> touch fisier1

○ statusul repository-ului ( iti arata ce fisiere au fost editate, ce


fisiere au fost sterse si ce fisiere au fost create) -> git status
○ adaugarea fisierelor in staging, pentru a putea updata cele mai noi
moficari -> git add fisier1

○ crearea unui nou commit -> git commit -m "Am creat un fisier
nou"

○ verificarea commit-urilor -> git log

○ stergerea unui fisier (din folder-ul test) : rm fisier1

○ update-ul zonei de staging: git rm fisier1

○ creare branch nou: git checkout -b myBranch

○ publicarea branch-ului pe git pentru a fi vizibil tuturor: git push


<origin> <myBranch>

Platforme Web care integreaza Git

GitHub
GitHub este un serviciu web pentru controlul versiunii care foloseste Git. Oferă
toate funcționalitățile distribuite de control al versiunilor și managementul
codului sursă (SCM) ale Git. De asemenea vine la pachet cu propriile
caracteristici si functionalitati. Acesta ofera controlul accesului și câteva funcții
de colaborare, cum ar fi urmărirea erorilor, solicitările de caracteristici,
gestionarea sarcinilor și wiki-urile pentru fiecare proiect.

Proiectele de pe GitHub pot fi accesate și manipulate folosind interfața standard


de linie de comandă Git, de asemenea toate comenzile standard Git lucrează cu
aceasta.

GitHub permite, de asemenea, utilizatorilor înregistrați și neînregistrați să


navigheze pe arhivele publice de pe site. Site-ul oferă funcții asemănătoare
rețelelor sociale, cum ar fi feed-uri, adepți, wiki.
Un utilizator trebuie să creeze un cont pentru a contribui la conținutul site-ului,
dar depozitele publice pot fi accesate și descărcate de oricine. Cu un cont de
utilizator înregistrat, utilizatorii pot discuta, gestiona depozitele, pot trimite
contribuții în depozitele altor persoane și examinează modificările aduse
codului.

Pe langa pastrarea in siguranta a codului sursa GiHub ofera urmatoarele formate


si caracteristici in plus:

● Documentație, inclusiv fișiere README redactate automat


● Urmarirea facila a defectelor
● Pull request si code review
● Istoria commit-urilor
● Grafice: commit-uri, participant etc
● Notificari prin email
● Posibilitatea de a mentiona un utilizator folosind @
● Posibilitatea de a folosi emoji

Cum functioneaza GitHub?


1. Creare repository nou:
a. In coltul din drepta sus a oricarei pagini apasa butonul +

b. În meniul derulant Owner, selectați contul pentru care doriți să


creați depozitul
c. Introduceți un nume pentru depozit și o descriere opțională
2. Adaugare fisier nou
a. Navigheaza la pagina principala a repository-ului
b. Sub numele repository-ului alege optiunea “Upload file”

c. Drag and drop fisierul sau directorul pe care doriti sa il adaugati


d. In partea de jos a pagini lasati un comentariu scurt care va
reprezenta o scurta descriere a commit-ului
e. Sub câmpurile mesajului de commit, aveti posibilitatea de a decide
dacă adăugați commit-ul dvs. la branch-ul principal (master/origin)
sau aveti posibilitatea de a crea un nou branch

f. Click pe butonul Commit:


3. Creare unui nou fisier
a. Navigheaza la repository-ul dorit si selecteaza folder-ul in care
doresti sa creezi noul fisier
b. Mai sus de lista fisierelor apasa butonul “Create new file”

c. Atunci cand se creaza noul fisier specifica si extensia dorita pentru


noul fisier
d. In “Edit new file tab” adauga modificarile pe care doresti sa le faci
e. Pentru a crea un nou commit urmareste pasii: 2 (d-f)
Bitbucket

Bitbucket este un serviciu web pentru controlul versiunii detinut de compania


Atlassian. Folesete atat integrarea de tip Git cât și Merurial.

Bitbucket este usor de folosit in cadrul proiectelor mari avand o integrare


prietenoasa cu alte tool-uri oferite de compania Atlassian:

● Jira
● Sourcetree
● Bamboo
● Hip-Chat

Principale avantaje si functionalitati:

● Pull requests: acilitează analiza codurilor, ceea ce crește calitatea codului


și reprezintă o oportunitate de împărtășire a cunoștințelor în cadrul
echipei
● Permisiuni la nivel de branch: ofera control granular al accesului și vă
asigură că persoanele potrivite pot efectua modificările corespunzătoare
asupra codului
● Căutare sensibilă in cod: combina rezultatelor utilizării cu o căutare
semantică care mai întâi clasifică definițiile în funcție de rang
● Integrarea Jira Software: posibilitatea crearii unui branch din interiorul
unei probleme/defect din Jira Software și configuraea declanșatoarelor
pentru schimbarea stărilor atunci când revizuiți sau îmbinați codul
● Integrări cu terțe părți
● Integrarea compilărilor: poate afișa rezultatele compilării din sistemul de
integrare continua, o simplă pictogramă reușit sau nereușit vă arată care
este starea codului
● Client Desktop: SorceTree
Cum folosesti Bitbucket?

1. Creare cont nou https://bitbucket.org/account/signup/


2. Creare un nou repository:
a. Autentificare in contul creat anterior
b. Se va afisa fereastra de start

c. Click pe butonul “Create repo” pentru a crea un nou repository


d. Da un nou nume repository-ului si o scurta descriere. De asemenea
acum vei specifica permisiunile pentru acest repository
e. Selecteaza tipul de repository preferat => Git
f. Click pe butonul “Create repository”
3. Clonare unui repository folosind Sourcetree
a. Pe pagina de Bitbucket a repository-ului tau ai optiunea de a Clona

b. Instaleaza aplicatia de SourceTree


c. Din meniul principal alege optiunea de New/Clone
d. Introdu link-ul generat din BitBucket si se solicita username-ul si
parola folosite in in contul de Bitbucket. De asemenea specifica si
directorul in care se va afla clona locala a repository-ului

e. Apasa butonul de Login apoi butonul de Clone


4. Adaugarea unui nou fiser
a. Mergi in directorul care contine copia local a repository-ului creat
anterior si creaza un nou fiser text
b. Deschide aplicatia SourceTree: aici va fi afisat nou fisier si
modificarile aferente lui

c. Apasa pe butonul “...” si selecteaza optiunea: Stage file


d. Inainte de a apasa pe butonul commit lasa o scurta descriere a
modificarilor facute
e. Apasa butonul commit
f. Apasa butonul Push

Bitbucket+Bamboo

Bitbucket integrat cu Bamboo reprezinta o solutie simpla si usora in cazul


proiectelor mari ajutand mult procesul de dezvoltare software.

Avantajele acestei integrari sunt:


● Integrare/livrare continuă mai bună

● Bitbucket “ii spune” server-ului Bamboo cand sa faca un nou build (in
general la fiecare push)
● atunci cand se creaza un nou branch se va crea automat si un plan de
executie pentru acel branch
● cand se va sterge un branch se va sterge automat si planul de executie
pentru acel branch
● ficare build creat in Bamboo are visibil commit-ul aferent
● primesti automat notificari legate de statusul unei noi versiuni la care ai
contribuit
● posibilitatea executarii testelor automate pentru asigurarea unei integrari
continue eficiente
Bibliografie:
http://acs.ase.ro/multimedia

https://git-scm.com/downloads/guis

https://ro.atlassian.com/software/bitbucket/features

https://ro.atlassian.com/software/bamboo

https://en.wikipedia.org/wiki/Git

https://github.com/features

S-ar putea să vă placă și