Skriva dina egna berättelser med git

Hej alla 🙂 Innan jag fortsätter med texterna i orderlistan vill jag fira släppet av git 2.16 genom att tacka var och en av dem som skickade en patch och var och en av användarna, totalt hade vi ungefär 4000 rader mellan uppdateringar och korrigeringar , som inte talar mycket om min första version, men det talar om din vänlighet 🙂 Tack! Nu ska jag berätta en liten hemlighet, tills hittills har det inte funnits en tid då jag inte har suttit ner för att skriva en artikel och tänkt mycket på det, vanligtvis skriver jag bara i rad, och då tar den goda ödlan vänligheten av korrigera mina skrivfel 🙂 så tack till honom också.

Detta är inte det bästa när vi pratar om att skriva artiklar, förmodligen borde det ha ett mål och sätta ihop en struktur, och markera små poäng och recensioner och etc etc ... Nu gäller detta inte bara för bloggar i allmänhet, utan är viktigt i en programvara som låtsas vara bra 🙂 För denna uppgift, och efter några problem med versionskontrollprogramvaran som användes vid utvecklingen av kärnan för några år sedan, föddes den git 🙂

Var man kan lära sig git?

Mängden dokumentation runt git är häpnadsväckande, även om vi bara tog man-sidorna som följde med installationen, skulle vi ha en enorm läsning. Jag personligen hittar git book ganska väl utformad, även jag har översatt några av segmenten i avsnitt 7, jag har fortfarande några, men ge mig tid 😛 kanske den här månaden kan jag översätta vad som är kvar av det avsnittet.

Vad gör git?

Git är utformad för att vara snabb, effektiv, enkel och för att stödja stora mängder information, trots allt skapade kärngemenskapen den för sin programvara, som är en av de största gemensamma verk av gratis programvara i världen och har hundratals av bidrag per timme i en kodbas som överstiger en miljon rader.

Det intressanta med git är dess sätt att underhålla versionerna av data. Tidigare (andra versionskontrollprogram) tog komprimeringar av alla befintliga filer vid en tidpunkt i historiken, som att göra en säkerhetskopiering. Git tar ett annat tillvägagångssätt när du utför en commit en punkt i historien är markerad, den punkten i historien har en rad modifieringar och fungerar, i slutet av dagen, alla ändringar sätts ihop över tiden och filerna erhålls för att kunna komprimera eller markera som milstolpar för versioner. Eftersom jag vet att allt detta låter komplicerat kommer jag att ta dig med på en magisk resa i ett super grundläggande exempel.

Lite kalkylprojekt

Calculamatics kommer att vara ett program som hittar kvadraterna för ett visst nummer, vi kommer att göra det i C och det blir så enkelt som möjligt, så förvänta dig inte många säkerhetskontroller från mig. Först ska vi skapa ett arkiv, jag kommer att göra det med Github för att döda två fåglar i en sten:

Egen. Christopher Diaz Riveros

Vi har lagt till ett par ganska enkla saker som licensen (mycket viktigt om du vill skydda ditt arbete, i mitt fall, tvinga dem att dela resultaten om de vill använda det som bas: P)

Låt oss nu gå till vår kära terminal, git clone är kommandot som ansvarar för nedladdningen av förvaret i url tilldelas och skapa en lokal kopia på vår dator.

Egen. Christopher Diaz Riveros

Låt oss nu kolla med git log vad som har hänt i projektets historia:

Här har vi mycket information i olika färger 🙂 låt oss försöka förklara det:

den första gula linjen är "begå streckkod". Varje engagemang har sin egen unika identifierare, med vilken du kan göra många saker, men vi sparar den för senare. Nu har vi gjort det HEAD av celeste och master grön. Dessa är "pekare", deras funktion är att peka på den aktuella platsen för vår historia (HEAD) och den gren vi arbetar med på vår dator (master).

origin/master är motsvarigheten till internet, origin är standardnamnet som har tilldelats vårt URLOch master är den gren du arbetar med ... för att hålla det enkelt, de som har en / är de som inte finns i vårt team, men som referenser till vad som finns på internet.

Då har vi författaren, datum och tid och sammanfattningen. Detta är en liten recension av vad som har hänt vid den tidpunkten i historien, mycket viktigt i många projekt och det finns mycket information som fördöms. Låt oss titta närmare på vad som hände i kommittén med kommandot git show <código-de-commit>

Egen. Christopher Diaz Riveros

Kommandot git show tar oss till den här skärmen i patchformat, där du kan se vad som har lagts till och vad som har tagits bort (om något hade tagits bort) vid den tiden i historien, hittills visar det oss bara att uppgifter .gitignore,README.mdLICENSE.

Låt oss nu gå igång, låt oss skriva en fil 🙂 vi skapar den första milstolpen i vår historia 😀:

Egen. Christopher Diaz Riveros

Kortfattat ska vi skapa ett program som visar oss antalet argument som skickats när det körs, enkelt 🙂

Egen. Christopher Diaz Riveros

Det var enkelt 🙂 nu ska vi se följande användbara kommando: git status

Egen. Christopher Diaz Riveros

Någon godhjärtad själ har översatt git för att göra det enkelt att följa, här har vi mycket användbar information, vi vet att vi befinner oss i mastergrenen, som vi är uppdaterade med origin/master(Github-grenen), vi har spårade filer! och att för att lägga till dem måste vi använda git add, låt oss försöka 🙂

Egen. Christopher Diaz Riveros

Nu har vi ett nytt grönt område där filen som vi har lagt till i arbetsområdet visas. På den här platsen kan vi gruppera våra förändringar för att göra ett åtagande, engagemanget består av en milstolpe genom hela projektets historia, vi ska skapa åtagandet 🙂 git commit

Egen. Christopher Diaz Riveros

Kort förklarad är den gula linjen titeln på vårt engagemang, jag skriver main.c för enbart visuell referens. Den svarta texten är förklaringen till de ändringar som gjordes sedan föregående engagemang fram till nu 🙂 vi sparar filen och vi kommer att se vårt engagemang sparat i registret.

Egen. Christopher Diaz Riveros

Nu ska vi se historien om vårt projekt med git log

Egen. Christopher Diaz Riveros

Återigen i loggen, nu kan vi se att de gröna och röda linjerna skiljer sig åt, detta beror på att vi på vår dator är ett åtagande över de som är lagrade på internet 🙂 vi ska fortsätta arbetet, antar att nu vill jag visa en meddelande om användaren lägger till mer än ett argument i programmet (vilket skulle göra kalkylatorn förvirrad 🙂)

Som vi kan se har vårt program vuxit mycket now, nu har vi funktionen imprimir_ayuda() som visar ett meddelande om hur man använder beräkningar och i blocket main() nu gör vi en recension med if(Något som vi kommer att se i en programmeringshandledning vid en annan tidpunkt, för nu är det bara nödvändigt att veta att om mer än två argument matas in i beräkningen, att programmet slutar och hjälpen visas. Låt oss utföra det:

Egen. Christopher Diaz Riveros

Som ni ser nu skriver det ut numret som har levererats istället för antalet argument, men som jag inte hade sagt till dig tidigare 🙂 för nyfikna echo $? visar utgångskoden för det senast genomförda programmet, vilket är 1 eftersom det har slutat av misstag. Låt oss nu granska hur vår historia går:

Egen. Christopher Diaz Riveros

Nu vet vi att vi ligger 1 före Github, att filen main.c har ändrats, låt oss skapa nästa engagemang genom att göra git add main.c  och då git commit🙂

Egen. Christopher Diaz Riveros

Nu har vi varit lite mer specifika, eftersom vi har implementerat en funktion och ändrat valideringskoden. Nu när den har sparats, låt oss granska vår senaste ändring. Vi kan se det med git show HEAD

Egen. Christopher Diaz Riveros

Nu kan du se de röda och gröna linjerna, vi har lagt till biblioteket stdlib.h, modifierade mycket av koden och lade till funktionen i vår historia.

Nu ska vi se loggen: (git log)

Egen. Christopher Diaz Riveros

Vi kan se att vi ligger två åtaganden före Github-versionen, vi kommer att utjämna markören lite 🙂 för det använder vi git push origin master

Med detta säger vi, skicka mina åtaganden till webbadressen origin på filialen master

Egen. Christopher Diaz Riveros

Grattis! Nu är dina ändringar på Github, tror du inte på mig? låt oss granska det 😉

Egen. Christopher Diaz Riveros

Nu har vi de tre åtagandena på Github 🙂

Sammanfattning

Vi har berört de mest grundläggande aspekterna av git, nu kan de skapa ett enkelt arbetsflöde i sina projekt, det här är nästan ingenting av alla de många olika saker som kan göras med git, men det är verkligen det mest praktiska och vardagliga för en utvecklare eller bloggare. Vi har inte nått slutet av miniräknare, men vi ska lämna det för en annan gång 😉 Tack så mycket för att du kom hit och jag hoppas att det hjälper dig att delta i flera projekt 😀 Hälsningar


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Paul sade

    Hej ... Jag vet inte om du är det, men jag kan inte se bilderna i den här rapporten ...

    hälsningar

  2.   Paul sade

    Det var ett problem med min webbläsare. Skam för irritationen.

  3.   Tecprog World sade

    Jag måste fortfarande läsa den mer detaljerat, jag är nybörjare.

  4.   Guillermo sade

    Bra artikel till att börja med git, även om jag rekommenderar att du antecknar för att förstå detaljerna.
    Ett par saker har inte varit tydliga för mig:
    vad är alternativet för Lägg till .gitignore Cmen jag antar att jag får se det när jag tränar det,
    Varför måste git add main.c göras igen innan nästa git commit, säger main.c att git ska jämföra den filen med nätverksversionen? Jämför det inte automatiskt alla tillagda filer för spårning?

    1.    ChrisADR sade

      Hej Guillermo 🙂 det är bra att du tyckte att det var användbart, att svara på dina frågor:

      .gitignore är en fil som berättar git vilka format eller mönster som ska ignoreras. I det här fallet väljer C att .o-filer ignoreras och andra som genereras vid sammanställningstid, vilket är bra för annars skulle din git bli galen direkt av varje sammanställning och uppföljning 🙂 kan du kontrollera det stora antalet format som git utelämnas i dess C-mall genom att göra katt eller med en textredigerare.

      Även om git kommer att hålla reda på varje fil som läggs till i arbetsträdet, är det nödvändigt att specifikt välja vilka filer som kommer att gå till nästa kommission, för att ge dig ett exempel, antag att ditt arbete har lett dig att ändra 5 olika filer innan kunna se resultatet. Om du vill vara lite mer specifik och förklara vad som görs i var och en kan du göra git add file1; git commit; git add file2; git commit… .3,4,5; git begå. På så sätt är din berättelse ren och ändringarna väl definierade. Och om du måste ändra något eller återställa (mer avancerade ämnen) kan du återställa specifika saker eller lägga till specifika saker utan att ändra resten.

      Hoppas det hjälper 🙂 hälsningar och tack för att du frågade

    2.    ChrisADR sade

      PS: git add säger inte att man ska jämföra med versionen i nätverket, men med det tidigare engagemanget i din arbetslinje, om det har varit lokalt (grönt) kommer det att jämföra det med det, om det har varit fjärr (rött) kommer det jämför med den andra. Bara för att klargöra 😉

      1.    Guillermo sade

        Perfekt, naturligtvis klargör det.