Scrie-ți propriile povești cu git

Bună ziua tuturor 🙂 Înainte de a continua cu textele listei de comenzi, vreau să sărbătoresc lansarea git 2.16 mulțumind fiecăruia dintre cei care au trimis un patch și fiecăruia dintre utilizatori, în total am avut 4000 de linii între actualizări și corecții , care nu vorbește foarte bine despre prima mea versiune, dar vorbește despre bunătatea ta 🙂 Mulțumesc! Acum, vă voi spune un mic secret, până acum nu a existat o perioadă în care să nu mă așez să scriu un articol și să mă gândesc mult la el, de obicei, doar scriu la rând, iar apoi șopârla bună ia amabilitatea de corectează-mi greșelile de dactilografiere 🙂 deci mulțumesc și lui.

Acest lucru nu este cel mai bun atunci când vorbim despre scrierea articolelor, se presupune că ar trebui să aibă un obiectiv și să alcătuiască o structură și să marcheze puncte mici, recenzii și etc etc ... Acum, acest lucru nu se aplică doar blogurilor în general, ci este esențial într-un software care se pretinde a fi bun 🙂 Pentru această sarcină și după unele probleme cu software-ul de control al versiunilor care a fost folosit în dezvoltarea nucleului în urmă cu câțiva ani, sa născut git ????

Unde să înveți git?

Cantitatea de documentație din jurul git este uluitoare, chiar dacă am lua doar paginile de manual care au venit cu instalarea, am avea o cantitate imensă de citire. Personal găsesc git book destul de bine conceput, chiar și eu am tradus unele dintre segmentele secțiunii 7, mai am câteva, dar dă-mi timp 😛 poate în această lună pot traduce ceea ce a mai rămas din acea secțiune.

Ce face git?

Git este conceput pentru a fi rapid, eficient, simplu și pentru a susține o mulțime de informații, la urma urmei, comunitatea kernel a creat-o pentru software-ul lor, care este una dintre cele mai mari lucrări comune de software gratuit din lume și are sute contribuții pe oră într-o bază de cod care depășește un milion de linii.

Interesantul despre git este modul său de a menține versiunile de date. În vremurile vechi (alte programe de control al versiunilor) luați comprese ale tuturor fișierelor existente într-un moment din istorie, cum ar fi crearea unui de rezervă. Git adoptă o abordare diferită atunci când efectuează un commit un punct din istorie este marcat, acel punct din istorie are o serie de modificări și funcționează, la sfârșitul zilei, toate modificările sunt puse împreună în timp și fișierele sunt obținute pentru a putea comprima sau marca ca etape ale versiuni. Din moment ce știu că toate acestea sună complicat, am să te duc într-o călătorie magică într-un exemplu foarte simplu.

Mic proiect de calculamatică

Calculamatica va fi un program care va găsi pătratele unui număr dat, o vom face în C și va fi cât se poate de simplu, așa că nu vă așteptați la multe verificări de securitate de la mine. Mai întâi vom crea un depozit, îl voi face cu Github pentru a ucide două păsări cu o singură piatră:

Proprie. Christopher Diaz Riveros

Am adăugat câteva lucruri simple, cum ar fi licența (foarte important dacă doriți să vă protejați munca, în cazul meu, forțați-i să împărtășească rezultatele dacă doresc să o folosească ca bază: P)

Acum să mergem la dragul nostru terminal, git clone este comanda care este responsabilă pentru descărcarea depozitului aflat în url atribuit și creați o copie locală pe computerul nostru.

Proprie. Christopher Diaz Riveros

Acum să verificăm cu git log ce s-a întâmplat în istoria proiectului nostru:

Aici avem o mulțime de informații în diferite culori 🙂 să încercăm să le explicăm:

prima linie galbenă este „codul de bare de comitere”, fiecare comitet are propriul său identificator unic, cu care puteți face o mulțime de lucruri, dar îl vom salva pentru mai târziu. Acum avem HEAD de celeste si master verde. Acestea sunt „indicii” funcția lor este de a indica locația actuală a istoriei noastre (HEAD) și filiala la care lucrăm pe computerul nostru (master).

origin/master este omologul internetului, origin este numele implicit care a fost atribuit nostru URL, Și master este ramura în care lucrați ... ca să fie simplă, cei care au un / sunt cele care nu fac parte din echipa noastră, dar sunt referințe la ceea ce este pe internet.

Apoi avem autorul, data și ora și rezumatul comiterii. Aceasta este o mică recenzie a ceea ce s-a întâmplat în acel moment al istoriei, foarte important în multe proiecte și există o mulțime de informații condamnate. Să aruncăm o privire mai atentă la ceea ce s-a întâmplat în comitere cu comanda git show <código-de-commit>

 

Proprie. Christopher Diaz Riveros

Comanda git show ne duce la acest ecran în format patch, unde puteți vedea ce s-a adăugat și ce s-a eliminat (dacă s-a eliminat ceva) în acel moment din istorie, până acum ne arată doar că înregistrări .gitignore,README.mdLICENSE.

Acum să trecem la treabă, să scriem un fișier 🙂 vom crea prima etapă din istoria noastră 😀:

Proprie. Christopher Diaz Riveros

Pe scurt, vom crea un program care ne arată numărul de argumente transmise la executarea acestuia, simplu 🙂

Proprie. Christopher Diaz Riveros

A fost ușor 🙂 acum să vedem următoarea comandă utilă: git status

Proprie. Christopher Diaz Riveros

Un suflet cu inimă bună a tradus git pentru a fi ușor de urmărit, aici avem o mulțime de informații utile, știm că suntem în ramura principală, că suntem actualizați cu origin/master(ramura Github), avem fișiere nerecomandate! și că pentru a le adăuga trebuie să le folosim git add, să încercăm 🙂

Proprie. Christopher Diaz Riveros

Acum avem un nou spațiu verde, în care este afișat fișierul pe care l-am adăugat în zona de lucru. În acest loc putem grupa modificările noastre pentru a face un commit, commit-ul constă într-o etapă importantă de-a lungul istoriei proiectului nostru, vom crea commit-ul 🙂 git commit

Proprie. Christopher Diaz Riveros

Pe scurt, linia galbenă este titlul comiterii noastre, scriu main.c pentru o simplă referință vizuală. Textul negru este explicația modificărilor făcute de la commit-ul anterior până acum save salvăm fișierul și vom vedea commit-ul nostru salvat în registru.

Proprie. Christopher Diaz Riveros

Acum vom vedea istoria proiectului nostru cu git log

Proprie. Christopher Diaz Riveros

Din nou în jurnal, acum putem vedea că liniile verzi și roșii au diferit, asta pentru că în computerul nostru suntem un commit peste cele stocate pe internet 🙂 vom continua lucrarea, să presupunem că acum vreau să arăt un mesaj în cazul în care utilizatorul introduce mai multe argumente în program (ceea ce ar face confuz calculatorul 🙂)

După cum putem vedea, programul nostru a crescut foarte mult 😀, acum avem funcția imprimir_ayuda() care afișează un mesaj despre modul de utilizare a calculelor și în bloc main() acum facem o recenzie cu if(Ceva pe care îl vom vedea într-un tutorial de programare în altă perioadă, deocamdată este necesar să știm doar dacă sunt introduse mai mult de 2 argumente în calculamatică, că programul se termină și se afișează ajutorul. Să-l executăm:

Proprie. Christopher Diaz Riveros

După cum puteți vedea acum, imprimă numărul care a fost livrat în locul numărului de argumente, dar pe care nu vi le-am spus până acum before pentru curioși echo $? arată codul de ieșire al ultimului program executat, care este 1 pentru că s-a încheiat în eroare. Acum să analizăm cum merge povestea noastră:

Proprie. Christopher Diaz Riveros

Acum știm că suntem 1 commit înainte de Github, că fișierul main.c a fost modificat, haideți să creăm următorul commit făcând git add main.c  și apoi git commit????

Proprie. Christopher Diaz Riveros

Acum am fost puțin mai specifici, deoarece am implementat o funcție și am schimbat codul de validare. Acum, când a fost salvat, vom analiza ultima noastră schimbare. O putem vedea cu git show HEAD

Proprie. Christopher Diaz Riveros

Acum puteți vedea liniile roșii și verzi, am adăugat biblioteca stdlib.h, a modificat o mare parte din cod și a adăugat funcția la povestea noastră.

Acum vom vedea jurnalul: (git log)

Proprie. Christopher Diaz Riveros

Putem vedea că suntem cu două confirmări înaintea versiunii Github, vom egaliza puțin marcajul 🙂 pentru asta folosim git push origin master

Cu aceasta spunem, trimiteți confirmările mele la adresa URL origin pe ramură master

Proprie. Christopher Diaz Riveros

Felicitări! Acum schimbările tale sunt pe Github, nu mă crezi? să-l trecem în revistă 😉

Proprie. Christopher Diaz Riveros

Acum avem cele 3 confirmări pe Github 🙂

Rezumat

Am atins cele mai elementare aspecte ale git, acum pot crea un flux de lucru simplu în proiectele lor, acest lucru este aproape nimic din toată varietatea de lucruri care pot fi făcute cu git, dar este cu siguranță cel mai practic și cel mai obișnuit lucru pentru un dezvoltator sau blogger. Nu am ajuns la sfârșitul calculatorului, dar vom lăsa asta pentru altă dată 😉 Vă mulțumesc foarte mult pentru că ați ajuns aici și sper că vă va ajuta să participați la mai multe proiecte 😀 Salutări

 


Conținutul articolului respectă principiile noastre de etică editorială. Pentru a raporta o eroare, faceți clic pe aici.

7 comentarii, lasă-le pe ale tale

Lasă comentariul tău

Adresa ta de email nu va fi publicată.

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Pablo el a spus

    Bună ... Nu știu dacă ești, dar nu pot vedea imaginile din acest raport ...

    În ceea ce priveşte

  2.   Pablo el a spus

    A fost o problemă cu browserul meu. Rușine supărării.

  3.   Lumea Tecprog el a spus

    Încă trebuie să-l citesc mai detaliat, sunt un începător.

  4.   Guillermo el a spus

    Un articol minunat pentru a începe cu git, deși vă recomand să luați note pentru a înțelege detaliile.
    Câteva lucruri nu mi-au fost clare:
    pentru ce este opțiunea Adăugați .gitignore Cdeși cred că o voi vedea când o voi practica,
    De ce trebuie git add main.c să se facă din nou înainte de următoarea commit git, add main.c spune git să compare acel fișier cu versiunea de rețea? Nu compară automat toate fișierele adăugate pentru urmărire?

    1.    ChrisADR el a spus

      Bună ziua Guillermo 🙂 e bine că ți s-a părut util să îți răspunzi la întrebări:

      .gitignore este un fișier care îi spune git ce formate sau tipare trebuie ignorate, în acest caz selectarea C face ca fișierele .o să fie ignorate și altele generate în timpul compilării, ceea ce este bine pentru că altfel git-ul tău ar înnebuni instantaneu din fiecare compilație și urmărire 🙂 puteți verifica numărul mare de formate pe care git omite în șablonul său C făcând cat sau cu un editor de text.

      Deși git va ține evidența fiecărui fișier adăugat în arborele de lucru, este necesar să selectați în mod specific ce fișiere vor intra în următorul commit, pentru a vă oferi un exemplu, să presupunem că munca dvs. v-a determinat să modificați 5 fișiere diferite înainte să poată vedea rezultatul. Dacă doriți să fiți puțin mai specific și să explicați ce se face în fiecare, puteți face git add file1; git commit; git add file2; git commit… .3,4,5; git commit. În acest fel, povestea dvs. este curată și schimbările bine definite. Și în cazul în care trebuie să schimbați ceva sau să reveniți (subiecte mai avansate), puteți reveni la anumite lucruri sau puteți adăuga anumite lucruri fără a schimba restul.

      Sper că vă va ajuta 🙂 salutări și mulțumiri pentru întrebări

    2.    ChrisADR el a spus

      PS: git add nu spune să comparați cu versiunea din rețea, dar cu comiterea anterioară din linia dvs. de lucru, dacă a fost locală (verde) o va compara cu aceea, dacă a fost la distanță (roșie) va face compară cu celălalt. Doar pentru a clarifica 😉

      1.    Guillermo el a spus

        Perfect, desigur, clarifică.

bool (adevărat)