Blog

Programare

Ce este GitHub?

În calitate de utilizator activ al internetului, întâlnești aproape în fiecare zi termeni pe care i-ai citit de o mie de ori, dar nu ai înțeles niciodată cu adevărat însemnătatea acestora. Sau ai doar o idee aproximativă despre ce este vorba și nu vrei să atragi atenția din cauza lipsei tale de cunoștințe. Suntem aproape siguri că GitHub este unul dintre acei termeni, iar dacă avem dreptate, ajută-ne să poziționăm lumina reflectoarelor asupra subiectului, iar noi vom explica termenii și platforma într-un mod ușor de înțeles pentru tine. 

GitHub este un serviciu online pentru dezvoltarea software și gestionarea versiunilor pentru proiecte software bazate pe Git. Compania are sediul în San Francisco, S.U.A și face parte din Microsoft din 26 decembrie 2018. 

La un nivel înalt, GitHub este un serviciu web care îi ajută pe dezvoltatori să-și stocheze și să-și gestioneze codul, precum și să urmărească și să controleze modificările aduse codului lor. Pentru a înțelege exact ce este GitHub, trebuie să înțelegi două principii interdependente: controlul versiunii și Git.

În acest articol vom explica mai întâi aceste două principii, iar apoi, vom discuta despre GitHub, un serviciu web care facilitează utilizarea Git.

Controlul versiunilor 

Controlul versiunilor este un sistem care urmărește modificările făcute la codul sursă de-a lungul timpului. Acest lucru îți permite să revii la o versiune anterioară a codului dacă ai nevoie sau să compari modificările pe care le-ai făcut. Pe măsură ce un proiect software crește, controlul versiunilor devine esențial. 

Să luăm un exemplu concret. Să presupunem că lucrăm la un proiect de dezvoltare a unui joc video. Un dezvoltator dorește să lucreze la o nouă caracteristică pentru joc. Fără controlul versiunilor, dezvoltatorul ar putea edita direct codul sursă principal. Cu toate acestea, acest lucru ar putea duce la conflicte dacă alt dezvoltator ar face modificări la același cod în același timp. În schimb, developerul poate utiliza controlul versiunilor pentru a crea o ramură a codului sursă. O ramură este o copie a codului sursă principal care poate fi modificată fără a afecta codul principal. Dezvoltatorul poate apoi să facă modificările necesare la codul din ramură. Odată ce modificările sunt finalizate, acesta poate îmbina codul din ramură înapoi în codul principal. Acest proces este sigur și eficient, deoarece permite developerilor să lucreze la diferite părți ale codului fără a se suprascrie reciproc munca.

Ce este Git?

Git este un sistem specific de control al versiunilor de tip open source dezvoltat de Linus Torvalds în anul 2005. Este un sistem de control al versiunilor distribuit, ceea ce înseamnă că întreaga bază de cod și istoricul sunt disponibile pe fiecare sistem de lucru al dezvoltatorilor, permițând ramificarea și îmbinarea ușoară. În 2018, Stack Overflow a raportat într-un studiu că peste 87% dintre dezvoltatori au adoptat Git ca instrument de lucru.

Ce este GitHub?

GitHub este un serviciu de găzduire web pentru proiecte de dezvoltare a software-ului care utilizează sistemul de control al versiunilor Git. Potrivit unui raport Statista, numărul dezvoltatorilor care folosesc platforma GitHub a crescut de la doar 3 milioane de utilizatori în 2013 la 100 de milioane în 2023. 

Interfața platformei este foarte ușor de utilizat încât chiar și începătorii se pot bucura de beneficiile software care te ajută la versionarea codului. GitHub este o platformă atât de flexibilă încât poate fi utilizată pentru a gestiona o varietate de proiecte, nu doar proiecte de dezvoltare software. De exemplu, unii oameni folosesc GitHub pentru a gestiona proiecte precum:

  • design
  • scrierea cărților
  • crearea de muzică

O altă caracteristică care face GitHub atât de popular este faptul că îți oferă posibilitatea de a găzdui un depozit de cod public gratuit. Ce înseamnă asta? Platforma este folosită în mare parte pentru proiectele open source. Acestea sunt programe gratuite pe care oricine le poate folosi, schimba și distribui mai departe.

Interfața platformei 

După cum am menționat și mai sus, GitHub este intuitiv și ușor de utilizat. Oferă o varietate de funcționalități care te pot ajuta să îți gestionezi proiectele software cu eficiență.

Interfața sa este împărțită în două secțiuni principale: 

  1. Bara de navigare: care se află în partea de sus a paginii și oferă acces la diferitele funcționalități ale platformei.
  2. Conținutul paginii: care variază în funcție de pagina pe care te afli.

1. Bara de navigare conține următoarele elemente:

  • Logo-ul GitHub
  • Bara de căutare, care îți permite să cauți proiecte, utilizatori sau alte conținuturi pe GitHub.
  • Meniul, care oferă acces la diferitele funcționalități ale platformei

2. Conținutul paginii include următoarele elemente:

  • Lista de proiecte, care afișează toate proiectele pe care le deții sau la care contribui.
  • Pagina unui proiect, care oferă informații despre un proiect specific, inclusiv codul sursă, istoricul versiunilor, issue-urile și pull request-urile.
  • Pagina unui utilizator, care oferă informații despre un utilizator specific, dar și proiectele la care contribuie, issue-urile și pull request-urile deschise.
  • Pagina unei comunități, care oferă informații despre o comunitate specifică, inclusiv proiectele și discuțiile.

GitHub oferă, de asemenea, o interfață mobilă care îți permite să accesezi platforma de pe telefon sau tabletă, fiind disponibilă atât pentru Android, cât și pentru iOS.

Beneficiile și caracteristicile GitHub

GitHub facilitează colaborarea între dezvoltatori. De asemenea, oferă control distribuit al versiunilor. Echipele de dezvoltatori pot lucra împreună într-un depozit Git centralizat și pot urmări modificările pe măsură ce merg pentru a rămâne organizate. 

GitHub oferă varianta Enterprise, care aduce mai multă securitate, sprijinind medii de dezvoltare integrate și integrare continuă, alături de diverse aplicații și servicii terțe.

Printre produsele și caracteristicile notabile ale acestui GitHub pro se numără:

  1. GitHub Gist: Permite utilizatorilor să partajeze fragmente de cod sau note.
  2. GitHub Flow: Oferă un flux de lucru simplificat, bazat pe ramuri, pentru actualizări regulate.
  3. Paginile GitHub: Pagini web statice pentru a găzdui proiecte, extrăgând informații direct din depozitele GitHub.
  4. GitHub Desktop: Oferă acces la GitHub de pe desktop-uri Windows sau Mac, fără a naviga pe site-ul web GitHub.
  5. GitHub Student Developer Pack: Un pachet gratuit de instrumente de dezvoltare pentru studenți, inclusiv resurse cloud și asistență.
  6. GitHub Campus Experts: Un program pentru studenți pentru a deveni lideri tehnici în școlile lor și de a dezvolta comunități tehnice.
  7. GitHub CLI: Un instrument de linie de comandă, open-source, care integrează caracteristici GitHub, cum ar fi cererile de extragere, în terminalul local al utilizatorului.
  8. GitHub Codespaces: Un mediu de dezvoltare bazat pe cloud, care oferă acces la limbaje și instrumente de programare comune, operând într-un container și oferind o perioadă gratuită înainte de a trece la un model de plată.

Istoria GitHub

Folosind cadrul web Ruby on Rails și limbajul de programare Erlang, GitHub a fost conceput pentru a facilita gestionarea eficientă a codului sursă și colaborarea dezvoltatorilor. Inițial, compania a adoptat un model organizațional neobișnuit, fără manageri intermediari, promovând auto-gestionarea și responsabilitatea individuală.

Pe parcursul dezvoltării sale, GitHub a atras investiții semnificative, inclusiv 100 de milioane de dolari de la Andreessen Horowitz în 2012 și 250 de milioane de dolari într-o rundă ulterioară de finanțare. Aceste investiții au contribuit la creșterea și extinderea platformei. 

În octombrie 2018, Microsoft a achiziționat GitHub pentru 7,5 miliarde de dolari, un pas care a stârnit îngrijorări în rândul unora dintre dezvoltatori, dar Microsoft a promis că GitHub va rămâne o platformă independentă. Achiziția a fost finalizată în decembrie 2018, iar din noiembrie 2021, platforma este condusă de Thomas Dohmke.

Programul de arhivare GitHub

GitHub Arctic Code Vault

Un aspect remarcabil al istoriei GitHub se oglindește în proiectul: Arctic Code Vault, lansat în februarie 2020. GitHub ACV este un depozit de date păstrat în Arhiva Lumii Arctice, o facilitate de arhivă pe termen foarte lung la 250 de metri adâncime în permafrostul unui munte arctic.

Conform Programului de Arhivare GitHub, Arctic Code Vault se află într-o mină de cărbune dezafectată din arhipelagul Svalbard, mai aproape de Polul Nord decât de Cercul Arctic. GitHub a efectuat o captură de moment a fiecărui depozit public activ pe 02.02.2020 și a păstrat acele date în Arctic Code Vault.

Proiectul are scopul de a păstra software-ul open-source pentru generațiile viitoare. Potrivit wikipedia, 21 TB de date, cuprinzând peste 100 de milioane de depozite de cod, au fost transferate pe bobine de film de arhivă Piql pentru conservarea acestora pentru un mileniu. Bobinele sunt depozitate într-un container cu pereți de oțel în interiorul unei camere etanșe dintr-o mină de cărbune dezafectată din arhipelagul îndepărtat al Svalbard. 

În plus față de codul sursă, arhiva include și documentație selectată destinată să ofere o perspectivă asupra tehnologiei software și computaționale pentru viitoarele generații. Această inițiativă este parte a unui efort mai larg de a păstra cunoștințele și inovațiile tehnologice pentru posteritate.

Dacă acest articol ți-a captat interesul și vrei să afli mai multe despre progresul viitorului, NewTech Academy îți recomandă să citești Digitalizarea viitorului prin dezvoltarea cyber security. Acest blog post nu este doar o sursă de informații, ci și un punct de plecare spre o călătorie fascinantă în lumea tehnologiei de mâine.

Află detalii despre cursurile noastre
Completează câmpurile de mai jos și te vom contacta în următoarele 24 de ore

    Te așteptăm la NewTech Academy