marți, 6 aprilie 2021

git-handbook ...Cele mai populare tehnologii

 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 initiniț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 clonecreează o copie locală a unui proiect care există deja de la distanță. Clona include toate fișierele, istoricul și ramurile proiectului.

  • git addetapizează 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 commitsalvează 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 addva deveni parte a instantaneului git 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 pullactualizează 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:

  1. 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.
  2. Adăugați comisioane: Instantaneele eforturilor de dezvoltare dintr-o sucursală creează puncte sigure și reversibile în istoria proiectului.
  3. Deschideți o cerere de extragere: cererile de extragere publică eforturile continue ale unui proiect și dați tonul unui proces de dezvoltare transparent.
  4. 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.
  5. Î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ă.
  6. 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:

  1. Depozit partajat
  2. Furcați și trageți

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.






0 comentarii:

Trimiteți un comentariu

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More