Sunteți pe pagina 1din 5

Ministerul Educației al Republicii Moldova

Departamentul Ingineria Software și Automatica

Raport
Lucrarea de laborator Nr.1
la disciplina: Programarea în Rețea
Tema: Versionarea codului sursă utilizând GIT

A efectuat: st.gr.

A verificat: conf. univ., dr. Ciorbă Dumitru

Chișinău 201
Obiectiv:
Crearea unui repozitoriu distant, localizat de serviciul gitlab.utm.md, și sincronizarea tuturor
modificărilor efectuate asupra repozitoriului local.

Scop:
Lucrarea de laborator are ca scop studiul și înțelegerea principiilor de fucționare și utilizare a
sistemului de distribuit de control al versiunilor numit GIT.

Noțiuni teoretice
Sisteme de versionare (VCS, Version Control Systems-eng) sevresc la gestionarea versiunilor
multiple ale fișierelor incluse într-un proiet. Fiecare modificare efectuată asupra elementului din proiect
se memoriazează împreună cu autorul schimbării. Important de menționat că în orice moment de timp se
poate reveni la o versiune anterioară a entității.
Motivația principală constă în posibilitatea ca diferiți membri ai echipei, aflați eventual în spații
geografice îndepartate, să poată lucra simultan la proiect, urmând ca, la final, modificarile lor să fie
reunite în noi versiuni ale proiectului. De asemenea, există ți alte avantaje. Când se observă un bug, se
poate reveni la o versiune anterioara, în vederea determinării momentului introducerii acestuia în
program. În același timp, se poate urma o dezvoltare pe ramuri (branches), în care se lucrează, în paralel,
la multiple versiuni ale proiectului - de exemplu, una în care se dorește înlăturarea bug-urilor, iar cealaltă,
în care se urmarește adăugarea noilor funcționalități, înaintea șlefuirii celor existente.
Există două modele de VCS-uri:
 centralizat (ex: SVN): codul sursă este situat pe un server central, de unde clienții pot
obține variante de lucru pe mașina locala (working copy). După efectuarea locală a
modificărilor, dezvoltatorul solicită actualizarea variantei de pe server.

 distribuit (ex: Git): nu există un server central, procesul de sincronizare desfășurându-se la


nivel peer-to-peer.

Figura 1. VCS centralizat Figura 2.


VCS distribuit
Avantajele utilizării modelului SVN sunt portabilitatea și suportul de integrare cu numeroase IDE-uri.

Principalele dezavantaje ale utilizării modelului centralizat SVN sunt:


 dependența de accesul la server;
 mentenanța și backup-urile serverului;
 dificultăți de comunicare cu serverul;
 dificultatea de a utiliza instrumentele pentru gestionarea ramurilor și de unificare a
ramurilor.

Modelul distribuit (ex: GIT) nu există un server central, procesul de sincronizare desfășurându-se
la nivel peer-to-peer.

Principalele beneficii ale sistemelor GIT și Mercurial sunt:


 urmărirea schimbărilor mai avansată și mai detaliată, lucru care duce la mai puține
conflicte;
 lipsa necesității unui server, toate operațiile cu excepția schimbului de informații între
repozitorii se realizează local;
 operațiile pentru gestionarea ramurilor și de unificare a ramurilor (prin intermediul
comenzii merge) sunt mai sigure, și prin urmare folosite mai des;
 rapiditatea marea a operațiilor datorită lipsei necesității comunicării cu serverul.

Dezavantajele utilizării sistemelor GIT și Mercurial:


 modelul distribuit este mai greu de înțeles;
 reviziile nu sunt numere incrementale, lucru care le face mai greu de referențiat;
 riscul apariției de greșeli este mare dacă modelul nu este familiar.

Chei SSH
SSH este un protocol de rețea care asigură o comunicare securizată a datelor între două stații
(calculatoare, tablete, telefoane sau alte dispozitive dintr-o rețea). Pentru a asigura confidențialitatea și
integritatea informațiilor interschimbate, SSH se folosește de criptarea cu chei asimetrice. Criptografia
asimetrică este un tip de criptografie care utilizează o pereche de chei: o cheie publică și o cheie privată.
Un utilizator care deține o astfel de pereche își publică cheia publică astfel încât oricine dorește să o poată
folosi pentru a îi transmite un mesaj criptat. Numai deținătorul cheii secrete (private) este cel care poate
decripta mesajul astfel criptat.Utilizatorul deține o pereche de chei: una publică și una privată. În timp ce
cheia publică se trimite stației de la distanță (eng. remote) cu care se dorește comunicarea, cea privată
rămâne tot timpul pe stația locală și trebuie protejată de public. Cheia publică trebuie trimisă stației de la
distanță, pentru că aceasta să o poată folosi la decriptarea datelor primite în format securizat.
Terminologie

 repository - pe server, conține ierarhia de fișiere și informațiile de versiune;


 working copy - varianta locală, obținuta de la server, pe care se fac modificările;
 revision - o versiune a unui document. (v1, v2, v3...).
 checkout -aducerea pe masina locala a versiunii de pe server, sub forma unei working copy
 update/pull:actualizarea repozitoriului local în funcție de modificările survenite, intre timp, pe
server. Se aduc doar fișierele modificate;
 commit - înregistrează o nouă versiune a fișierului (fișierelor) modificat în repozitoriu.
 commit message - un mesaj asociat unei acțiuni commit care descrie schimbările făcute în noua
versiune.
 changelog - o listă a versiunilor (commit-urilor) unui fișier/proiect de obicei însoțită de mesajele
asociate fiecărui commit.  
 diff: Afișează diferențele dintre două versiuni a unui fișier sau dintre fișierul modificat local (pe
working copy) și o versiune de pe repository.
 revert -renunțarea la ultimele modificări (locale) făcute într-un fișier din working copy, și
revenirea la ultima versiune aflată în repozitoriu sau la o versiune la alegere.
 branch - creează o “copie” a unui fișier/proiect pentru modificări „în paralel” fără a afecta starea
actuală a unui proiect.
 merge - aplică ultimele modificări dintr-o versiune a unui fișier peste alt fișier;
 conflict - situația în care un merge nu se poate executa automat și modificările locale sunt în
conflict cu modificările din repozitoriu.
 resolve: rezolvarea (de obicei manuală) a conflictelor apărute într-un fișier după un merge.

Maven
Maven este un sistem de construire și managment al proiectelor, scrise în Java. Face parte din
proiectele găzduite de Apache Software Foundation. Este un tool source care este larg utilizat atât de
majoritatea proiectelor Java Open Source, cât și de altele.

Ce este Maven? Cea mai mare parte a utilizatorilor Maven vor spune că Maven este un instrument
pentru build, în timp ce definiția de pe pagina oficială a proiectului Apache Maven
http://maven.apache.org/ spune că Maven este un instrument pentru managment al proiectelot. Un
instrument pentru build se axează în principal pe procesare, compilare ambalare (packaging), testare și
distribuție. Un instrument pentru managment, cum ar fi Maven, în plus față de capacitățile de build pe
care le are, și care sunt cu mult mai simple și ușoare în folosire, mai prevede de asemenea și un ciclu de
viață al proiectului, facilitează comunicarea între membrii echipei de lucru prin oferirea unui interfețe
comune, si multe alte facilități.

Structura proiectului Maven și conținutul sunt declarate într - un fișier XML, pom.xml denumit ca
Project Object Model (POM), care este unitatea fundamentală a întregului sistem Maven.

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

  • Lectia 4 Programarea Structurată
    Lectia 4 Programarea Structurată
    Document8 pagini
    Lectia 4 Programarea Structurată
    istef2010
    Încă nu există evaluări
  • 1 - Utilizarea PHP Cu Mysql Pas Cu Pas
    1 - Utilizarea PHP Cu Mysql Pas Cu Pas
    Document14 pagini
    1 - Utilizarea PHP Cu Mysql Pas Cu Pas
    Augustina Rotari
    Încă nu există evaluări
  • Git PDF
    Git PDF
    Document12 pagini
    Git PDF
    pelikanul2004
    Încă nu există evaluări
  • JavaScript For Absolute Beginners 1 250
    JavaScript For Absolute Beginners 1 250
    Document458 pagini
    JavaScript For Absolute Beginners 1 250
    Denisia
    Încă nu există evaluări
  • Laborator MD 5-6
    Laborator MD 5-6
    Document11 pagini
    Laborator MD 5-6
    Alexandru Dumbrava
    100% (1)
  • Laborator 6 AC
    Laborator 6 AC
    Document6 pagini
    Laborator 6 AC
    Alexandru Dumbrava
    Încă nu există evaluări
  • Examen IA
    Examen IA
    Document28 pagini
    Examen IA
    Daniela Ciucnaru
    Încă nu există evaluări
  • Raspunsuri Electronica
    Raspunsuri Electronica
    Document6 pagini
    Raspunsuri Electronica
    Alexandru Dumbrava
    100% (1)
  • Lab 7
    Lab 7
    Document5 pagini
    Lab 7
    danielploaia
    Încă nu există evaluări
  • Npi PL Algoritmi
    Npi PL Algoritmi
    Document7 pagini
    Npi PL Algoritmi
    Cristina Ciuta
    Încă nu există evaluări
  • CSS Introducere
    CSS Introducere
    Document3 pagini
    CSS Introducere
    cosminspataru
    100% (1)
  • Somipp 2
    Somipp 2
    Document8 pagini
    Somipp 2
    Damean Alexandra
    Încă nu există evaluări
  • Program Are Subiecte Info Practic-689
    Program Are Subiecte Info Practic-689
    Document7 pagini
    Program Are Subiecte Info Practic-689
    studenta4u
    Încă nu există evaluări
  • Programare Structurata C
    Programare Structurata C
    Document2 pagini
    Programare Structurata C
    calinanistor
    Încă nu există evaluări
  • Lab 1 Somipp
    Lab 1 Somipp
    Document5 pagini
    Lab 1 Somipp
    Augusta Bucataru
    Încă nu există evaluări
  • TW Lab3
    TW Lab3
    Document6 pagini
    TW Lab3
    Dan
    Încă nu există evaluări
  • Laboratorul 1
    Laboratorul 1
    Document9 pagini
    Laboratorul 1
    Tina Cris
    Încă nu există evaluări
  • Algoritm LICENTA
    Algoritm LICENTA
    Document138 pagini
    Algoritm LICENTA
    Bogdan Tica
    Încă nu există evaluări
  • Amoo 4
    Amoo 4
    Document5 pagini
    Amoo 4
    AlionaCrigan
    Încă nu există evaluări
  • C Pointeri
    C Pointeri
    Document23 pagini
    C Pointeri
    Andrei Efros
    Încă nu există evaluări
  • PSI Lab 3
    PSI Lab 3
    Document10 pagini
    PSI Lab 3
    Nicolae
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document3 pagini
    Lab 1
    Сергей Борта
    Încă nu există evaluări
  • Git Laborator 1
    Git Laborator 1
    Document1 pagină
    Git Laborator 1
    Daniil
    Încă nu există evaluări
  • Examen TIDPP
    Examen TIDPP
    Document3 pagini
    Examen TIDPP
    Rosca Doinita
    Încă nu există evaluări
  • Laboratorul 1 TIDPP
    Laboratorul 1 TIDPP
    Document11 pagini
    Laboratorul 1 TIDPP
    Ion Popescu
    0% (1)
  • PR Lab2
    PR Lab2
    Document5 pagini
    PR Lab2
    Сергей Борта
    Încă nu există evaluări
  • SARA BERINDE - Rezolvare Subiecte Programare
    SARA BERINDE - Rezolvare Subiecte Programare
    Document42 pagini
    SARA BERINDE - Rezolvare Subiecte Programare
    markstenczel00
    Încă nu există evaluări
  • Sabloane Creationale
    Sabloane Creationale
    Document4 pagini
    Sabloane Creationale
    Cristi Olaru
    Încă nu există evaluări
  • Somipp Linux 1 UTM
    Somipp Linux 1 UTM
    Document10 pagini
    Somipp Linux 1 UTM
    Cristi Poselețchi
    Încă nu există evaluări
  • TW Lab 6
    TW Lab 6
    Document6 pagini
    TW Lab 6
    DanuIepuras
    Încă nu există evaluări
  • 5555
    5555
    Document7 pagini
    5555
    VicuPopusoi
    100% (1)
  • Raspunsuri AC
    Raspunsuri AC
    Document10 pagini
    Raspunsuri AC
    Anastasia
    Încă nu există evaluări
  • Programare Structurata
    Programare Structurata
    Document2 pagini
    Programare Structurata
    Catalina Stefan
    Încă nu există evaluări
  • Lab4 en Somipp
    Lab4 en Somipp
    Document36 pagini
    Lab4 en Somipp
    Catherine Nemerenco
    Încă nu există evaluări
  • Examen PW
    Examen PW
    Document71 pagini
    Examen PW
    DorinRotaru
    Încă nu există evaluări
  • Programarea Paralela Si Concurenta
    Programarea Paralela Si Concurenta
    Document24 pagini
    Programarea Paralela Si Concurenta
    Beșliu Nicu
    Încă nu există evaluări
  • Raspunsuri AMSI
    Raspunsuri AMSI
    Document11 pagini
    Raspunsuri AMSI
    Cristina Florea
    Încă nu există evaluări
  • SOMIPP Labs
    SOMIPP Labs
    Document107 pagini
    SOMIPP Labs
    Ionel Boaghe
    Încă nu există evaluări
  • Lab3 AMOO
    Lab3 AMOO
    Document7 pagini
    Lab3 AMOO
    Сергей Борта
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document14 pagini
    Lab 1
    Aliona
    Încă nu există evaluări
  • Testarea Statica1
    Testarea Statica1
    Document29 pagini
    Testarea Statica1
    Inga Camerzan
    Încă nu există evaluări
  • Lab 7
    Lab 7
    Document2 pagini
    Lab 7
    Cristina Florea
    Încă nu există evaluări
  • Pam PDF
    Pam PDF
    Document4 pagini
    Pam PDF
    Andreas Petrakis Houloutsas
    Încă nu există evaluări
  • Comenzi Powershell Windows. 10
    Comenzi Powershell Windows. 10
    Document17 pagini
    Comenzi Powershell Windows. 10
    Cosmin Porojan
    Încă nu există evaluări
  • SecrieruAndrei Amoo Lab5
    SecrieruAndrei Amoo Lab5
    Document6 pagini
    SecrieruAndrei Amoo Lab5
    andy secrieru
    Încă nu există evaluări
  • Analiza Datelor Multidimensionale
    Analiza Datelor Multidimensionale
    Document21 pagini
    Analiza Datelor Multidimensionale
    Nita Ionela
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document22 pagini
    Lab 1
    Nicoletta Ciudin
    Încă nu există evaluări
  • Testarea Stărilor Şi Tranziţiilor (State Transition Testing)
    Testarea Stărilor Şi Tranziţiilor (State Transition Testing)
    Document4 pagini
    Testarea Stărilor Şi Tranziţiilor (State Transition Testing)
    Bogdan Catrinescu
    Încă nu există evaluări
  • Lab1 Somipp
    Lab1 Somipp
    Document14 pagini
    Lab1 Somipp
    Jen4ik
    100% (1)
  • Lista Subiecte Examen
    Lista Subiecte Examen
    Document1 pagină
    Lista Subiecte Examen
    Ion Popescu
    Încă nu există evaluări
  • BDC Laborator 13
    BDC Laborator 13
    Document5 pagini
    BDC Laborator 13
    Vladislav Crivenco
    Încă nu există evaluări
  • Destinatia Sistemelor de Operare. Tipuri
    Destinatia Sistemelor de Operare. Tipuri
    Document10 pagini
    Destinatia Sistemelor de Operare. Tipuri
    leonid
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document4 pagini
    Lab 3
    Rosca Doinita
    Încă nu există evaluări
  • TW Lab 5
    TW Lab 5
    Document4 pagini
    TW Lab 5
    danielploaia
    Încă nu există evaluări
  • Somipplaba5 (Ru)
    Somipplaba5 (Ru)
    Document99 pagini
    Somipplaba5 (Ru)
    Maria Sevciuc
    0% (1)
  • SOMIPP Lab1
    SOMIPP Lab1
    Document6 pagini
    SOMIPP Lab1
    violina
    Încă nu există evaluări
  • BDC Lab6en
    BDC Lab6en
    Document6 pagini
    BDC Lab6en
    Catherine Nemerenco
    Încă nu există evaluări
  • BDC Lab2
    BDC Lab2
    Document15 pagini
    BDC Lab2
    Dumitru Plamadeala
    100% (2)
  • Gestiunea
    Gestiunea
    Document10 pagini
    Gestiunea
    Cristina Remeneac
    Încă nu există evaluări
  • Adamescu Octav George
    Adamescu Octav George
    Document10 pagini
    Adamescu Octav George
    George Ad
    Încă nu există evaluări
  • Sisteme de Control Al Versiunilor
    Sisteme de Control Al Versiunilor
    Document16 pagini
    Sisteme de Control Al Versiunilor
    MagureanCorneliu
    Încă nu există evaluări
  • PR Examen
    PR Examen
    Document52 pagini
    PR Examen
    Vlad Oftici
    Încă nu există evaluări
  • Instrumente Si Medii de Dezvoltare PDF
    Instrumente Si Medii de Dezvoltare PDF
    Document11 pagini
    Instrumente Si Medii de Dezvoltare PDF
    Ion Stratan
    Încă nu există evaluări
  • RC Lab1.1
    RC Lab1.1
    Document17 pagini
    RC Lab1.1
    Alexandru Dumbrava
    Încă nu există evaluări
  • ACSO Raspuns 1 25
    ACSO Raspuns 1 25
    Document6 pagini
    ACSO Raspuns 1 25
    Alexandru Dumbrava
    Încă nu există evaluări
  • Lucrarea de Curs
    Lucrarea de Curs
    Document26 pagini
    Lucrarea de Curs
    Alexandru Dumbrava
    Încă nu există evaluări
  • Laboratorul Nr.1 LFPC
    Laboratorul Nr.1 LFPC
    Document6 pagini
    Laboratorul Nr.1 LFPC
    Alexandru Dumbrava
    Încă nu există evaluări