Sari la conținutul principal

Tutorial GitHub și Git pentru începători

Un tutorial pentru începători care demonstrează cum funcționează controlul versiunilor cu Git și de ce este esențial pentru proiectele de data science.
Actualizat 22 iul. 2026  · 9 min. citire

Explorează cu AI

Deschide în ChatGPTDeschide în ClaudeDeschide în Perplexity

Imagine de la autor

Ce este Git?

Git este un sistem de control al versiunilor distribuit și open-source. Le permite dezvoltatorilor și specialiștilor în știința datelor să urmărească codul, să îmbine modificările și să revină la versiuni mai vechi - AWS. Îți permite să sincronizezi modificările cu un server remote. Datorită flexibilității și popularității sale, Git a devenit un standard în industrie, deoarece suportă aproape toate mediile de dezvoltare, instrumentele liniei de comandă și sistemele de operare. 

Cum funcționează Git?

Git îți stochează fișierele și istoricul dezvoltării lor într-un depozit local. De fiecare dată când salvezi modificările efectuate, Git creează un commit. Un commit este o instantanee a fișierelor curente. Aceste commit-uri sunt legate între ele, formând un grafic al istoricului de dezvoltare, ca mai jos. Ne permite să revenim la commit-ul anterior, să comparăm modificări și să vedem progresul proiectului de dezvoltare - Azure DevOps. Commit-urile sunt identificate printr-un hash unic, folosit pentru a compara și a reveni asupra modificărilor efectuate.  

Un grafic al istoricului dezvoltării

Un grafic al istoricului dezvoltării

Ramuri

Ramurile sunt copii ale codului sursă care funcționează în paralel cu versiunea principală. Pentru a salva modificările făcute, îmbină ramura în versiunea principală. Această funcționalitate încurajează munca în echipă fără conflicte. Fiecare dezvoltator are sarcina lui/ei, iar folosind ramuri poate lucra la o funcționalitate nouă fără interferența altor colegi. Odată ce sarcina este finalizată, poți îmbina noile funcționalități cu versiunea principală (ramura master). Dacă vrei să înveți cum să clonezi o ramură, consultă acest tutorial despre Git Clone Branch.

Adăugarea unei noi funcționalități în depozit
Adăugarea unei noi funcționalități în depozit 


Commit-uri

Există trei stări ale fișierelor în Git: modificate, în staging și commit. Când faci modificări într-un fișier, acestea sunt salvate în directorul local. Nu fac parte din istoricul de dezvoltare Git. Pentru a crea un commit, trebuie mai întâi să pui fișierele modificate în staging. Poți adăuga sau elimina modificări din zona de staging, apoi să împachetezi aceste modificări ca un commit cu un mesaj care le descrie.  

Trei stări ale fișierelor în Git
Trei stări ale fișierelor în Git

Care sunt beneficiile Git?

  • Urmărirea modificărilor: le permite dezvoltatorilor să vadă modificările istorice. Istoricul dezvoltării face ușoară identificarea și remedierea bug-urilor.
  • Integrare IDE: Datorită popularității sale, integrarea Git este disponibilă în toate mediile de dezvoltare, de exemplu VSCode și JupyterLab.
  • Colaborare în echipă: O echipă de dezvoltare își poate vedea progresul, iar folosind ramuri poate lucra individual la o sarcină și îmbina modificările cu versiunea principală. Pull request-urile, rezolvarea conflictelor de îmbinare și code review-ul încurajează colaborarea în echipă. 
  • VCS distribuit: Într-un sistem distribuit nu există un depozit centralizat de fișiere. Există mai multe backup-uri pentru același proiect. Această abordare le permite dezvoltatorilor să lucreze offline și să facă commit la modificări. 

Git pentru proiecte de data science

Git oferă controlul versiunilor pentru scripturi, metrici, date și modele. Folosind extensia Git git-lfs, poți stoca și versiona baze de date mari și modele de machine learning. Într-un proiect tipic de data science, ai un notebook Jupyter, un set de date, un model, metadate și metrici ale modelului. Metadatele includ fișiere care conțin meta-informații despre modelul de machine learning, caracteristici, parametri ai modelului și fișiere de automatizare. Toate acestea sunt necesare pentru monitorizarea progresului aplicațiilor de AI și rezolvarea problemelor. 

Urmărirea experimentelor de data science îi ajută pe cercetători să revină asupra modificărilor accidentale, să aleagă cel mai bun experiment în funcție de metrica de performanță și să colaboreze cu alți colegi. Diagrama de mai jos arată cum modificările aduse datelor sau codului afectează metadatele și rezultatul modelului. Urmărirea acestor modificări îi poate ajuta și pe alți colegi să vină cu o soluție mai bună. Află totul despre Git în cel mai recent blog scris de Summer Worsley.

Git pentru un proiect de data science
Git pentru un proiect de data science 

Colaborare cu GitHub

GitHub este o platformă cloud pentru dezvoltare software. Este folosită frecvent pentru salvarea fișierelor, urmărirea modificărilor și colaborarea la proiecte de dezvoltare. În ultimii ani, GitHub a devenit cea mai populară platformă socială pentru comunitățile de dezvoltare software. Persoanele pot contribui la proiecte open-source și rapoarte de bug-uri, pot discuta proiecte noi și descoperi instrumente noi. 

Specialiștii în data science și inginerii de machine learning urmează calea dezvoltatorilor software și își integrează fluxul de lucru cu GitHub. Procedând astfel, își pot împărtăși activitatea de cercetare, pot permite contribuții din comunitate și pot colabora cu echipele de date. Pe această platformă poți găsi tot felul de proiecte de data science și machine learning, ghiduri, tutoriale și resurse. Pentru studenți, platforma a devenit o oportunitate de a dobândi experiență de lucru și, în final, de a obține un job într-o companie de prestigiu. 

Portofoliu

Cei mai mulți recrutori tehnici vor cere proiecte de portofoliu sau profilul de GitHub. Asta îi ajută să determine dacă un candidat este potrivit pentru compania lor. Este foarte recomandat să îți creezi un profil GitHub și să îl actualizezi regulat. Managerii de recrutare caută mereu candidați cu multă experiență în dezvoltarea software și care contribuie la proiecte open-source. Posibilitatea de a analiza portofoliul GitHub îi ajută să pregătească întrebări pentru sesiunile de interviu tehnic. 

Profil GitHub
Profil GitHub

GitHub le permite specialiștilor în data science să își prezinte proiectele, iar acestea pot conta și ca experiențe de muncă în CV-ul tău. Prezentarea proiectelor din portofoliu creează, de asemenea, oportunități de a lucra împreună, de a lansa un startup și de a face cercetare. 

Proiecte de portofoliu
Proiecte de portofoliu

Funcționalități

GitHub oferă, de asemenea, diverse alte funcționalități la fel de importante ca prezentarea unui portofoliu. Este necesar să înveți despre fiecare funcție, astfel încât să le poți integra în proiectele tale de data science. 

  • Open-source: GitHub oferă un ecosistem complet pentru proiecte open-source. Poți sponsoriza mentenanții, contribui la un proiect, folosi un instrument open-source în proiectul tău existent și îți poți promova munca. 
  • Colaborare în comunitate: GitHub a devenit o platformă de comunitate unde se pot discuta issues, cereri de funcționalități, contribuții la cod și documentație. 
  • Explore: fila GitHub Explore te ajută să descoperi proiecte noi, instrumente în tendințe și evenimente pentru dezvoltatori. 
  • GitHub Gists: Poți partaja fragmente de cod sau le poți încorpora într-un blog sau site. 
  • GitHub CLI: Îți permite să faci merge requests, să revizuiești cod, să verifici issues și să monitorizezi progresul din programul de linie de comandă. 
  • Stocare gratuită: stocare nelimitată pentru depozite private și publice.
  • Găzduire web: Îți poți publica site-ul de portofoliu sau documentația. Paginile GitHub oferă o experiență ușoară de construire și publicare a site-ului. 
  • Codespace: un mediu de dezvoltare în cloud, integrat cu depozitul tău GitHub. 
  • Project: un instrument personalizabil și flexibil pentru planificarea și urmărirea muncii pe GitHub.
  • Automatizare: GitHub Actions automatizează fluxul de lucru de dezvoltare precum build, testare, publicare, release și deployment.
  • Sponsor: Îți poți sprijini proiectul open-source sau dezvoltatorii favoriți plătind o taxă lunară sau unică. De asemenea, le permite dezvoltatorilor să folosească platforme de plată terțe precum ko-fi. 

Comenzi de bază

Înainte să trecem la gestionarea proiectelor de data science, hai să învățăm cele mai comune comenzi Git pe care le vei folosi în fiecare proiect de data science. Comenzile de bază includ inițializarea depozitului Git, salvarea modificărilor, verificarea jurnalelor, trimiterea modificărilor pe serverul remote și îmbinarea. 

  • git init creează un depozit Git într-un director local.

  • git clone <adresa-repo-remote>: copiază întregul depozit de pe un server remote în directorul local. Poți să îl folosești și pentru a copia depozite locale.

  • git add <fișier.txt>: adaugă un fișier sau mai multe fișiere și foldere în zona de staging.

  • git commit –m “Mesaj”: creează o instantanee a modificărilor și o salvează în depozit. 

  • git config folosit pentru a seta configurări specifice utilizatorului, precum email, nume de utilizator și format de fișier. 

  • git status arată lista fișierelor modificate sau a celor care încă nu au fost puse în staging și comise.  

  • git push <nume-remote> <nume-ramură>: trimite commit-urile locale în ramura remote a depozitului.  

  • git checkout -b <nume-ramură>: creează o ramură nouă și comută la ea.

  • git remote –v: afișează toate depozitele remote.

  • git remote add <nume-remote> <host-sau-remoteURL>: adaugă un server remote la depozitul local. 

  • git branch –d <nume-ramură>: șterge ramura.

  • git pull merge commit-urile într-un director local dintr-un depozit remote. 

  • git merge <nume-ramură>: după rezolvarea conflictelor de îmbinare, comanda îmbină ramura selectată în ramura curentă.

  • git log arată o listă detaliată a commit-urilor pentru ramura curentă.

Dezvoltare completă cu GitHub
Dezvoltare completă cu GitHub

Dacă ești interesat să înveți mai multe comenzi, consultă fișa noastră Git

Primele etape

În această secțiune, vom folosi Git pentru a urmări un proiect de data science și GitHub ca server remote. Vom învăța cum să instalăm Git, să creăm și să clonăm un depozit din GitHub, să rulăm experimente de machine learning și să împingem modificări (notebook, model, date) în GitHub folosind Windows PowerShell 7.  

Instalarea Git

Git suportă toate sistemele de operare. Îl poți instala folosind instrumente de linie de comandă sau poți descărca și instala direct pachetul. 

Linux

Pentru sistemele de operare bazate pe Debian/Ubuntu folosește `apt-get install git`, iar dacă folosești un alt sistem bazat pe Linux, consultă lista completă a comenzilor de instalare aici.

macOS

Dacă ai instalat homebrew, folosește această comandă pentru a descărca și instala Git: `brew install git`. Poți, de asemenea, descărca pachetul binar installer și să rulezi instalarea.

Windows

Instalarea Git pe Windows este fără bătăi de cap. Doar mergi la pagină, dă clic pe versiunea specifică de Windows, apoi descarcă și instalează pachetul. Dacă ai instrumentul winget, îl poți instala tastând winget install --id Git.Git -e --source winget în PowerShell. 

După instalarea Git, asigură-te că ai configurat numele de utilizator și emailul. Aceste informații sunt folosite pentru a semna commit-urile. 

git config --global user.name "your-user-name"
git config --global user.email "[email protected]"

Pentru informații mai detaliate despre cum să instalezi Git, dă clic aici

Inițializarea proiectului

Dacă ai un cont GitHub, dă clic pe butonul + și selectează un depozit nou. Apoi introdu numele depozitului și adaugă o descriere simplă. Se va crea un depozit public gol. 

Crearea proiectului
Crearea proiectului

Există multe modalități de a clona depozite remote în directorul local, iar GitHub oferă un ghid detaliat despre cum să clonezi, să adaugi remote și să inițializezi un proiect Git.  

Clonare GitHub
Clonare GitHub

Putem clona pur și simplu depozitul furnizând un link HTTPS. Asigură-te că ești în directorul de lucru folosind Command Prompt sau PowerShell. 

git clone https://github.com/kingabzpro/DataCamp-Git.git

>>> Cloning into 'DataCamp-Git'...
>>> warning: You appear to have cloned an empty repository.

cd .\DataCamp-Git\

SAU

Creează un director nou numit „DataCamp-Git” și inițializează Git cu o comandă simplă. După aceea, adaugă o conexiune la depozitul remote, ca să îți poți sincroniza munca cu GitHub.

mkdir DataCamp-Git
cd .\DataCamp-Git
git init

>>> Initialized empty Git repository in C:/Repository/GitHub/DataCamp-Git/.git/

git remote add origin https://github.com/kingabzpro/DataCamp-Git.git

SAU

Dacă ai deja un proiect într-un director, doar inițializează Git cu `git init` și adaugă remote-ul GitHub, ca mai sus. 

Commit simplu

Înainte să adăugăm fișiere în depozit, asigură-te că ești în directorul local corect. 

Vom începe simplu și vom crea un fișier README cu titlul DataCamp-Git. Apoi îl vom adăuga în zona de staging folosind `git add`. 

echo "# DataCamp-Git" >> README.md
git add README.md

Git status arată că suntem pe ramura principală și că fișierul `README.md` este în staging și gata de a fi comis.  

git status

>>> On branch main
>>> No commits yet
>>> Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   README.md

Pentru a crea primul nostru commit, vom folosi `git commit` cu un mesaj. După cum observăm, primul commit a fost adăugat sub hash-ul ed9c886.

git commit -m "first commit"

>>> [main (root-commit) ed9c886] first commit
>>> 1 file changed, 1 insertion(+)
>>> create mode 100644 README.md

Adăugarea fișierelor proiectului

Vom folosi workspace-ul DataCamp MasterCard Stock Price with LSTM and GRU și vom descărca fișierele. Autorul proiectului a preprocesat datele și a antrenat serii temporale pe modelele LSTM și GRU. Află mai multe despre proiect citind Tutorialul despre Recurrent Neural Network (RNN).

Pentru a salva fișierul modelului, am adăugat o celulă nouă de cod în notebook-ul Jupyter al proiectului. Scriptul nou va crea un director numit „model” și va salva atât modelele LSTM, cât și GRU. 

!mkdir -p model
model_lstm.save('model/LSTM')
model_gru.save('model/GRU')

După cum vedem, depozitul Git are un folder data care conține fișiere CSV, folderul model cu greutățile modelului și metadate. 

Folderul de date Git

Acum vom pune în staging toate fișierele. Poți adăuga orice director, fișier sau date după comanda inițială. 

git add .\data .\model LSTM_GRU.ipynb RNN.png

SAU

Dacă vrei să adaugi toate fișierele în zona de staging, folosește punctul. 

git add .

Commit și Push

Vom face commit la toate modificările cu un mesaj simplu, iar rezultatul arată toate fișierele noi în modul create. 

git commit -m "project files added"

>>> [main aa3e19a] project files added
>>>  10 files changed, 5020 insertions(+)
>>>  create mode 100644 LSTM_GRU.ipynb
>>>  create mode 100644 RNN.png
>>>  create mode 100644 data/Mastercard_stock_history.csv
>>>  create mode 100644 data/Mastercard_stock_info.csv
>>>  create mode 100644 model/GRU/saved_model.pb
>>>  create mode 100644 model/GRU/variables/variables.data-00000-of-00001
>>>  create mode 100644 model/GRU/variables/variables.index
>>>  create mode 100644 model/LSTM/saved_model.pb
>>>  create mode 100644 model/LSTM/variables/variables.data-00000-of-00001
create mode 100644 model/LSTM/variables/variables.index

Sincronizarea cu depozitul remote de pe GitHub necesită un nume de remote și un nume de ramură `git push <nume-remote> <nume-ramură>`. Dacă ai un singur remote și o singură ramură, atunci folosirea `git push` va funcționa.  

După `git push`, fereastra pop-up va cere acreditările; adaugă numele tău de utilizator și parola GitHub. Poți, de asemenea, genera Personal access tokens și să le folosești în locul parolei. Află mai multe citind Tutorialul Git Push și Pull.

git push

>>> Enumerating objects: 21, done.
>>> Counting objects: 100% (21/21), done.
>>> Delta compression using up to 4 threads
>>> Compressing objects: 100% (19/19), done.
>>> Writing objects: 100% (21/21), 1.83 MiB | 1.59 MiB/s, done.
>>> Total 21 (delta 2), reused 0 (delta 0), pack-reused 0
>>> remote: Resolving deltas: 100% (2/2), done.
>>> To https://github.com/kingabzpro/DataCamp-Git.git
>>>  * [new branch]      main -> main

Vom verifica depozitul nostru GitHub kingabzpro/DataCamp-Git pentru a vedea dacă am trimis cu succes modificările pe remote. Depozitul GitHub are toate fișierele, datele și modelele.

Push pe remote în GitHub
Push pe remote în GitHub

Ramuri Git

Este recomandat să lucrezi cu ramuri: de exemplu, dacă vrei să lucrezi la documentația proiectului, creează o ramură de documentație folosind git checkout sau git branch. Fă modificări în fișierul README și, când finalizezi modificările, îmbină ramura cu baza. 

În cazul nostru, am creat și am comutat la o ramură nouă numită readme.

git checkout -b readme

Hai să edităm fișierul README adăugând o descriere a proiectului și legături către workspace-ul RNN de pe DataCamp și tutorial. După aceea, vom pune în staging modificările și vom salva o instantanee a modificărilor cu un mesaj.

git add README.md
git commit -m "project description and links to blog"

>>> [readme f3b8b9b] project description and links to blog
>>>  1 file changed, 8 insertions(+)

Depozitul remote nu are o ramură readme. Pentru a crea o ramură nouă și a trimite modificările, vom folosi „readme:readme”. Ieșirea comenzii arată că au fost create ramuri noi și că ramurile locală și remote `readme` sunt sincronizate. 

git push origin readme:readme
>>> remote: Resolving deltas: 100% (1/1), completed with 1 local object.
>>> remote: Create a pull request for 'readme' on GitHub by visiting:
>>> remote:  https://github.com/kingabzpro/DataCamp-Git/pull/new/readme
>>> remote:
To https://github.com/kingabzpro/DataCamp-Git.git
>>>  * [new branch]      readme -> readme

Poți observa că am trimis cu succes ramura locală pe GitHub cu o versiune modificată a fișierului README.md. 

Ramura Readme pe GitHub
Ramura Readme pe GitHub

Pull request

Această funcționalitate este comună pentru organizații. De exemplu, un dezvoltator software a lucrat la o funcționalitate nouă și vrea să îmbine modificările în ramura principală remote. Vom crea acum pull request-uri folosind interfața GitHub, dând clic pe butonul de pull request. După aceea, selectează ramura readme pe care vrem să o îmbinăm cu baza (main). Poți introduce o explicație detaliată a funcționalităților adăugate și apoi dai clic pe butonul de pull request. 

Pull request din readme către ramura main
Pull request din readme către ramura main

Mentenorul depozitului va compara modificările tale și le va îmbina când vor trece toate testele. În cazul nostru, tu ești mentenorul, așa că dă clic pe cererea de îmbinare pentru a combina modificările cu ramura principală. 

GitHub Merge Pull Request
Merge pull request pe GitHub

Felicitări, am creat cu succes un pull request și l-am îmbinat cu ramura principală. Poți vedea modificările pe ramura principală aici

Dacă vrei să vezi toate modificările din depozitul tău git, tastează `git log` și îți va afișa modificările istorice ale proiectului. Jurnalizarea modificărilor în proiectele de data science este importantă, iar Git ne ajută să urmărim toate modificările, chiar și seturi de date mari. 

Istoricul logurilor Git
Istoricul logurilor Git

Gânduri finale

Practici ca GitOps sunt cruciale pentru dezvoltarea aplicațiilor de date. Au devenit o abilitate esențială pentru toate tipurile de joburi IT; chiar și cercetătorii academici le folosesc pentru a partaja cod experimental cu un public mai larg. Pe de altă parte, GitHub joacă un rol mai mare în promovarea proiectelor open-source, oferind un ecosistem gratuit de dezvoltare software pentru toți. 

În acest tutorial, am învățat despre Git și GitHub și de ce sunt importante pentru proiectele de data science. Tutorialul te introduce, de asemenea, în comenzile de bază Git și îți oferă experiență practică despre cum să urmărești modificările în date, model și cod. Dacă ești interesat să înveți mai multe despre Git, urmează un curs Introducere în Git pe DataCamp. Poți afla și despre importanța certificării GitHub Foundations și cum îți poate ajuta cariera. 

Întrebări frecvente despre Git

Ce este Git?

Un sistem de control al versiunilor distribuit, open-source. Le permite dezvoltatorilor să stocheze, să versioneze și să vizualizeze modificările într-un proiect de dezvoltare. Încurajează munca în echipă flexibilă și un flux de lucru optimizat. 

Ce înseamnă Git?

Nu este un acronim. Conform creatorului său, Linus Torvalds, „Git poate însemna orice, în funcție de dispoziție.” Este o combinație de trei litere aleatorii care nu sunt folosite de nicio comandă UNIX.  

Cum clonez un depozit Git?

Trebuie doar să tastezi `git clone <adresa depozitului remote>` într-un terminal. Poți clona depozite locale și remote. Suportă atât protocoalele SSH, cât și HTTPS.

Cum șterg o ramură în Git?

Pentru a șterge o ramură locală, folosește `git branch -d <nume_ramură_locală>`, iar pentru a șterge ramura remote, folosește `git push <nume_remote> -d <nume_ramură_remote>`.

Cum schimb ramurile în Git?

Comută la o ramură existentă cu `git checkout <numele ramurii>` sau creează și comută la o ramură nouă cu `git checkout -b <numele ramurii>`.

Cum instalez Git?

Pe sistemele Linux folosește `apt-get install git`, iar pentru alte sisteme de operare consultă git-scm.com.

Este Git gratuit?

Da, este gratuit și open-source sub licența GPL-2.0.

Ce este Git Bash?

Este o aplicație pentru Microsoft Windows care oferă utilitare de shell bazate pe Unix și o experiență similară. 

Cum creez o ramură nouă în Git?

Folosește comanda `git branch <ramură-nouă> <ramură-bază>` în terminal. Pentru a crea și a comuta la o ramură nouă, folosește `git checkout -b <numele ramurii>`.

Ce face git pull?

Actualizează versiunea locală a unui depozit de pe un server remote, copiază toate modificările dintr-un depozit remote și le îmbină cu directorul local. Acest proces necesită adesea rezolvarea conflictelor de îmbinare. 

Cum fac fork la un repo în Git?

Fork-ul pe GitHub este procesul de creare a unei copii a unui depozit în contul de GitHub al utilizatorului dintr-un alt cont. De obicei se face pentru contribuții din comunitate sau lucru în echipă. 

Cum redenumesc o ramură în Git?

Pentru depozitul local, este simplu: folosește `git branch -m <vechiul-nume> <noul-nume>`. Pentru redenumirea unei ramuri remote, mai întâi trebuie să elimini ramura veche cu `git push origin --delete <vechiul-nume>` și apoi să împingi ramura nouă `git push -u origin <noul_nume>`.

Cum șterg depozitul Git?

Poți șterge folderul local sau poți elimina folderul .git folosind `rm -fr .git`. Pentru GitHub, mergi la setările depozitului, iar la finalul paginii vei vedea opțiunea de ștergere.

Cum instalez Git pe Windows?

Descarcă pachetul de instalare pentru Windows de pe site și rulează-l; va instala Git Bash, Git CDM și Git GUI.

Cum revin la un commit în Git?

Folosește `git revert <commit sha>`, care necesită un cod hash unic al oricărui commit anterior. Poți folosi și `git revert HEAD~2`, care înseamnă două commit-uri în urmă față de head.   

Subiecte
Morty Proxy This is a proxified and sanitized view of the page, visit original site.