GitHub Training & Guides
https://www.youtube.com/c/GitHubGuides/videos
Ce este un sistem de control al versiunilor?
Un sistem de control al versiunilor, sau VCS, urmărește istoricul schimbărilor pe măsură ce oamenii și echipele colaborează la proiecte împreună. Pe măsură ce proiectul evoluează, echipele pot rula teste, remedia erori și pot contribui cu un nou cod cu încrederea că orice versiune poate fi recuperată în orice moment. Dezvoltatorii pot revizui istoricul proiectului pentru a afla:
- Ce modificări au fost făcute?
- Cine a făcut schimbările?
- Când au fost făcute modificările?
- De ce au fost necesare schimbări?
Ce este un sistem de control al versiunilor distribuite?
Git este un exemplu de sistem de control al versiunilor distribuite (DVCS) utilizat în mod obișnuit pentru dezvoltarea de software open source și comercial. DVCS permit accesul complet la fiecare fișier, ramură și iterație a unui proiect și permite fiecărui utilizator accesul la un istoric complet și autonom al tuturor modificărilor. Spre deosebire de sistemele de control centralizate ale versiunilor, DVCS-urile precum Git nu au nevoie de o conexiune constantă la un depozit central. Dezvoltatorii pot lucra oriunde și pot colabora asincron din orice fus orar.
Fără control de versiune, membrii echipei sunt supuși unor sarcini redundante, a unor timeline mai lente și a mai multor copii ale unui singur proiect. Pentru a elimina munca inutilă, Git și alte VCS-uri oferă fiecărui contribuitor o imagine unificată și consecventă a unui proiect, dând la iveală lucrări care sunt deja în desfășurare. Văzând un istoric transparent al schimbărilor, cine le-a făcut și modul în care acestea contribuie la dezvoltarea unui proiect îi ajută pe membrii echipei să rămână aliniați în timp ce lucrează independent.
De ce Git?
Conform ultimului sondaj pentru dezvoltatori Stack Overflow , mai mult de 70% dintre dezvoltatori folosesc Git, ceea ce îl face cel mai utilizat VCS din lume. Git este utilizat în mod obișnuit atât pentru open source cât și pentru dezvoltarea de software comercial, cu beneficii semnificative pentru persoane fizice, echipe și companii.
Git le permite dezvoltatorilor să vadă întreaga cronologie a schimbărilor, deciziilor și progresului oricărui proiect într-un singur loc. Din momentul în care accesează istoria unui proiect, dezvoltatorul are tot contextul de care au nevoie pentru a-l înțelege și a începe să contribuie.
Dezvoltatorii lucrează în fiecare fus orar. Cu un DVCS precum Git, colaborarea se poate întâmpla oricând, menținând integritatea codului sursă. Folosind sucursale, dezvoltatorii pot propune în siguranță modificări ale codului de producție.
Companiile care folosesc Git pot sparge barierele de comunicare dintre echipe și le pot menține concentrate pe a face cea mai bună muncă. În plus, Git face posibilă alinierea experților într-o afacere pentru a colabora la proiecte majore.
Ce este un depozit?
Un depozit , sau proiect Git , cuprinde întreaga colecție de fișiere și foldere asociate cu un proiect, împreună cu istoricul reviziilor fiecărui fișier. Istoricul fișierelor apare ca instantanee în timp numite comitere , iar comitetele există ca o relație de listă legată și pot fi organizate în mai multe linii de dezvoltare numite ramuri . Deoarece Git este un DVCS, depozitele sunt unități independente și oricine deține o copie a depozitului poate accesa întreaga bază de cod și istoricul acesteia. Folosind linia de comandă sau alte interfețe ușoare de utilizat, un depozit git permite, de asemenea: interacțiunea cu istoricul, clonarea, crearea de ramuri, comiterea, combinarea, compararea modificărilor între versiunile de cod și multe altele.
Lucrul în depozite menține proiectele de dezvoltare organizate și protejate. Dezvoltatorii sunt încurajați să remedieze erorile sau să creeze caracteristici noi, fără teama de a deranja eforturile principale de dezvoltare. Git facilitează acest lucru prin utilizarea ramurilor de subiecte: indicatori ușori pentru comitetele din istorie care pot fi ușor create și depreciate atunci când nu mai sunt necesare.
Prin intermediul unor platforme precum GitHub, Git oferă, de asemenea, mai multe oportunități de transparență și colaborare a proiectelor. Depozitele publice ajută echipele să lucreze împreună pentru a construi cel mai bun produs final posibil.
Comenzi de bază Git
Pentru a utiliza Git, dezvoltatorii folosesc comenzi specifice pentru a copia, crea, modifica și combina codul. Aceste comenzi pot fi executate direct din linia de comandă sau utilizând o aplicație precum GitHub Desktop sau Git Kraken. Iată câteva comenzi obișnuite pentru utilizarea Git:
git init
inițializează un depozit Git nou și începe urmărirea unui director existent. Se adaugă un subfolder ascuns în directorul existent care găzduiește structura internă de date necesară pentru controlul versiunii.git clone
creează o copie locală a unui proiect care există deja de la distanță. Clona include toate fișierele, istoricul și ramurile proiectului.git add
etapizează o schimbare. Git urmărește modificările bazei de cod a dezvoltatorului, dar este necesar să se realizeze și să se realizeze un instantaneu al modificărilor pentru a le include în istoria proiectului. Această comandă efectuează etapizarea, prima parte a procesului în doi pași. Orice modificare care va fi pusă în scenă va deveni o parte a următoarei instantanee și o parte a istoriei proiectului. Organizarea și angajarea separat oferă dezvoltatorilor un control complet asupra istoriei proiectului lor, fără a schimba modul în care codifică și funcționează.git commit
salvează instantaneul în istoricul proiectului și finalizează procesul de urmărire a modificărilor. Pe scurt, un commit funcționează precum realizarea unei fotografii. Orice lucru care a fost pus în scenăgit add
va deveni parte a instantaneuluigit commit
.git status
arată starea modificărilor ca fiind urmărite, modificate sau organizate.git branch
arată ramurile lucrate la nivel local.git merge
îmbină liniile de dezvoltare împreună. Această comandă este de obicei utilizată pentru a combina modificările făcute pe două ramuri distincte. De exemplu, un dezvoltator ar fuziona atunci când dorește să combine modificările dintr-o ramură de caracteristică în ramura principală pentru implementare.git pull
actualizează linia locală de dezvoltare cu actualizări de la omologul său la distanță. Dezvoltatorii folosesc această comandă dacă un coechipier a făcut angajamente către o sucursală de pe o telecomandă și ar dori să reflecte acele schimbări în mediul lor local.git push
actualizează depozitul la distanță cu orice comitere efectuate local la o sucursală.
Aflați mai multe dintr- un ghid complet de referință pentru comenzile Git .
Explorează mai multe comenzi Git
Pentru o privire detaliată asupra practicilor Git, videoclipurile de mai jos arată cum să profitați la maximum de unele comenzi Git.
Cum se potrivește GitHub
GitHub este un depozit de găzduire Git care oferă dezvoltatorilor instrumente pentru a livra un cod mai bun prin funcții din linia de comandă, probleme (discuții sub formă de fire), cereri de extragere, revizuirea codului sau utilizarea unei colecții de aplicații gratuite și pentru cumpărare în GitHub Marketplace Cu straturi de colaborare precum fluxul GitHub, o comunitate de 15 milioane de dezvoltatori și un ecosistem cu sute de integrări, GitHub schimbă modul în care este construit software-ul.
Cum funcționează GitHub
GitHub construiește colaborarea direct în procesul de dezvoltare. Munca este organizată în depozite, unde dezvoltatorii pot contura cerințele sau direcția și pot stabili așteptări pentru membrii echipei. Apoi, folosind fluxul GitHub, dezvoltatorii pur și simplu creează o ramură pentru a lucra la actualizări, comit modificări pentru a le salva, deschid o cerere de extragere pentru a propune și discuta modificări și fuzionează cereri de extragere odată ce toată lumea este pe aceeași pagină.
Fluxul GitHub
Fluxul GitHub este un flux de lucru ușor, bazat pe ramuri, construit în jurul comenzilor Git de bază utilizate de echipe din întreaga lume - inclusiv ale noastre.
Fluxul GitHub are șase pași, fiecare cu beneficii distincte atunci când este implementat:
- Creați o ramură: ramurile de subiecte create din ramura de implementare canonică (de obicei
main
) permit echipelor să contribuie la multe eforturi paralele. Ramurile tematice de scurtă durată, în special, mențin echipele concentrate și duc la nave rapide. - Adăugați comisioane: Instantaneele eforturilor de dezvoltare dintr-o sucursală creează puncte sigure și reversibile în istoria proiectului.
- Deschideți o cerere de extragere: cererile de extragere publică eforturile continue ale unui proiect și dați tonul unui proces de dezvoltare transparent.
- Discutați și examinați codul: echipele participă la revizuirea codului comentând, testând și examinând cererile de extragere deschisă. Revizuirea codului se află la baza unei culturi deschise și participative.
- Îmbinare: la clic pe fuzionare, GitHub efectuează automat echivalentul unei operațiuni locale de „fuziune git”. GitHub păstrează, de asemenea, întregul istoric al dezvoltării sucursalei la solicitarea de extragere combinată.
- Implementare: echipele pot alege cele mai bune cicluri de lansare sau pot încorpora instrumente de integrare continuă și pot opera cu asigurarea că codul din ramura de implementare a trecut printr-un flux de lucru robust.
Aflați mai multe despre fluxul GitHub
Dezvoltatorii pot găsi mai multe informații despre fluxul GitHub în resursele furnizate mai jos.
GitHub și linia de comandă
Pentru dezvoltatorii noi la linia de comandă, echipa GitHub Training a realizat o serie de tutoriale despre comenzile Git pentru a ghida calea. Uneori, o serie de comenzi pot picta o imagine a modului de utilizare a Git:
Exemplu: Contribuiți la un depozit existent
# download a repository on GitHub.com to our machine
git clone https://github.com/me/repo.git
# change into the `repo` directory
cd repo
# create a new branch to store any new changes
git branch my-branch
# switch to that branch (line of development)
git checkout my-branch
# make changes, for example, edit `file1.md` and `file2.md` using the text editor
# stage the changed files
git add file1.md file2.md
# take a snapshot of the staging area (anything that's been added)
git commit -m "my snapshot"
# push changes to github
git push --set-upstream origin my-branch
Exemplu: Porniți un nou depozit și publicați-l pe GitHub
Mai întâi, va trebui să creați un nou depozit pe GitHub. Puteți afla cum să creați un nou depozit în ghidul nostru Hello World . Nu inițializați depozitul cu un README, .gitignore sau Licență. Acest depozit gol vă va aștepta codul.
# create a new directory, and initialize it with git-specific functions
git init my-repo
# change into the `my-repo` directory
cd my-repo
# create the first file in the project
touch README.md
# git isn't aware of the file, stage it
git add README.md
# take a snapshot of the staging area
git commit -m "add README to initial commit"
# provide the path for the repository you created on github
git remote add origin https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git
# push changes to github
git push --set-upstream origin main
Exemplu: contribuie la o ramură existentă pe GitHub
# assumption: a project called `repo` already exists on the machine, and a new branch has been pushed to GitHub.com since the last time changes were made locally
# change into the `repo` directory
cd repo
# update all remote tracking branches, and the currently checked out branch
git pull
# change into the existing branch called `feature-a`
git checkout feature-a
# make changes, for example, edit `file1.md` using the text editor
# stage the changed file
git add file1.md
# take a snapshot of the staging area
git commit -m "edit file1"
# push changes to github
git push
Modele de dezvoltare colaborativă
Există două moduri principale în care oamenii colaborează la GitHub:
Cu un depozit partajat , persoanele și echipele sunt desemnate în mod explicit drept colaboratori cu acces de citire, scriere sau administrator. Această structură simplă de permisiune, combinată cu funcții precum sucursalele protejate și Marketplace, ajută echipele să progreseze rapid atunci când adoptă GitHub.
Pentru un proiect open source sau pentru proiecte la care oricine poate contribui, gestionarea permisiunilor individuale poate fi o provocare, dar un model fork and pull permite tuturor celor care pot vizualiza proiectul să contribuie. O furcă este o copie a unui proiect din contul personal al unui dezvoltator. Fiecare dezvoltator deține controlul deplin al furcii și este liber să implementeze o soluție sau o funcție nouă. Lucrările finalizate în furculițe sunt fie păstrate separat, fie revin la proiectul original printr-o cerere de extragere. Acolo, întreținătorii pot examina modificările sugerate înainte de a fi îmbinate. Consultați Ghidul proiectelor Forking pentru mai multe informații.
Învață în ritmul tău
Echipa GitHub a creat o bibliotecă de videoclipuri și ghiduri educaționale pentru a ajuta utilizatorii să își dezvolte abilitățile și să construiască software mai bun.
- Proiecte pentru începători de explorat
- Ghiduri video GitHub
- Formare la cerere GitHub
- Ghiduri de instruire GitHub
- Resurse de instruire GitHub
0 comentarii:
Trimiteți un comentariu