top of page

În practică #7 | Git și GitHub: de ce aproape orice echipă software le folosește?

Cum schimbă tehnologia modul în care lucrăm

„În practică” este seria în care explorăm, fără jargon și pornind de la exemple concrete, felul în care inteligența artificială și noile tehnologii schimbă profesiile, organizațiile și modul în care lucrăm.


Imaginează-ți că trei dezvoltatori lucrează în același timp la o aplicație. Unul modifică sistemul de autentificare, altul lucrează la baza de date, iar al treilea încearcă să rezolve o eroare apărută în versiunea lansată săptămâna trecută.

Toți lucrează cu același cod. Toți fac modificări. Și, la un moment dat, toate aceste modificări trebuie să ajungă în aceeași aplicație.

Cum faci asta fără să suprascrii munca altcuiva? Cum afli cine a schimbat o anumită bucată de cod? Și, mai ales, ce faci dacă o modificare nu funcționează și trebuie să revii la versiunea de ieri?

Aici intră în scenă Git și GitHub, două nume pe care le întâlnești foarte repede atunci când începi să lucrezi în dezvoltare software.



Git păstrează istoria codului

Git este un sistem de versionare. Pe scurt, permite dezvoltatorilor să păstreze evidența modificărilor făcute într-un proiect.

În loc să ajungi la fișiere cu nume precum proiect_final, proiect_final2, proiect_final_bun și inevitabilul proiect_final_bun_FINAL, Git construiește un istoric organizat al proiectului.

Dezvoltatorii pot salva diferite etape ale muncii lor prin commit-uri, pot vedea ce s-a modificat și pot reveni la o versiune anterioară atunci când este nevoie.

Dar adevărata diferență se vede atunci când la același proiect lucrează mai mulți oameni.

Fiecare poate dezvolta o funcționalitate separat, într-un branch, fără să modifice imediat versiunea principală a aplicației. Când funcționalitatea este pregătită și verificată, schimbările pot fi integrate în proiect.

Astfel, versionarea nu este doar o plasă de siguranță. Devine parte din modul în care este organizată munca unei echipe.


Și atunci ce face GitHub?

Git și GitHub sunt deseori pomenite împreună, ceea ce poate crea impresia că sunt același lucru.

Nu sunt.

Dacă Git gestionează versiunile codului, GitHub oferă spațiul online în care proiectele bazate pe Git pot fi găzduite și în care echipele pot colabora în jurul lor.

Un repository de pe GitHub nu conține doar codul aplicației. Acolo pot avea loc discuții despre modificări, pot fi semnalate probleme, pot fi revizuite contribuțiile colegilor și poate fi urmărită evoluția proiectului.

De exemplu, înainte ca o funcționalitate nouă să intre în versiunea principală, dezvoltatorul poate deschide un pull request. Colegii pot vedea ce a schimbat, pot comenta, pot propune corecturi și pot aproba modificarea.

Într-o echipă software, această etapă este importantă nu doar pentru controlul calității codului, ci și pentru schimbul de cunoștințe între colegi.


Ce se întâmplă când doi oameni modifică același lucru?

Colaborarea nu este întotdeauna atât de simplă.

Dacă doi dezvoltatori modifică aceeași zonă a aceluiași fișier, Git poate identifica un conflict. În loc să decidă automat care variantă este cea bună și să elimine munca unuia dintre ei, semnalează problema și lasă echipa să decidă ce trebuie păstrat.

La început, un mesaj de tip „merge conflict” poate părea una dintre acele situații în care ai stricat ceva foarte grav.

De cele mai multe ori, nu este.

Este pur și simplu mecanismul prin care Git spune: aici există două variante și am nevoie de ajutor ca să înțeleg care este cea corectă.

Iar rezolvarea acestor situații face parte din munca obișnuită în dezvoltarea software.


Mai mult decât un instrument pentru programatori

GitHub a devenit și una dintre cele mai mari platforme pentru proiecte software open-source. Biblioteci, framework-uri și instrumente folosite zilnic de dezvoltatori din întreaga lume sunt dezvoltate în repository-uri publice, unde codul poate fi consultat și îmbunătățit de comunitate.

Pentru cineva aflat la început de drum, asta înseamnă și o schimbare importantă de perspectivă.

Dezvoltarea software nu înseamnă doar să știi să scrii cod. Înseamnă să poți lucra cu acel cod într-o echipă: să urmărești modificările, să explici ce ai făcut, să verifici contribuțiile altora și să integrezi propria muncă într-un proiect mai mare.

Tocmai de aceea, Git și GitHub apar foarte devreme în multe programe de formare pentru dezvoltatori.


De la C# la un proiect care seamănă cu munca reală

Aceste instrumente fac parte și din programa cursului .NET, organizat în cadrul proiectului Transilvania Digitală Inovativă 5.0.


Cursul pornește de la fundamentele limbajului C# și programarea orientată pe obiecte și continuă cu tehnologii și instrumente folosite în dezvoltarea unei aplicații: Git și GitHub, SQL Server, Entity Framework Core și ASP.NET Core Web API.


Pe parcursul programului, participanții construiesc etapizat o aplicație, astfel încât conceptele studiate să nu rămână izolate, ci să poată fi înțelese în contextul unui proiect.


Pentru că, în practică, să știi să scrii cod este doar o parte din meserie. La fel de important este să știi cum lucrezi cu acel cod împreună cu ceilalți.



„În practică” este seria prin care explicăm, pe înțelesul tuturor, concepte și tehnologii despre care se vorbește tot mai des în domeniul digital și arătăm ce înseamnă ele în activitatea de zi cu zi a companiilor și profesioniștilor.

Comentarii


bottom of page