Å skrive dine egne historier med git

Hei alle sammen 🙂 Før jeg fortsetter med tekstene i ordrelisten, vil jeg feire utgivelsen av git 2.16 ved å takke hver av dem som sendte en oppdatering og hver av brukerne, totalt hadde vi omtrent 4000 linjer mellom oppdateringer og rettelser, som ikke snakker høyt om min første versjon, men det snakker om din vennlighet 🙂 Takk! Nå skal jeg fortelle deg en liten hemmelighet, til nå har det ikke vært en tid da jeg ikke har satt meg ned for å skrive en artikkel og har tenkt mye på det, vanligvis skriver jeg bare på rad, og så tar den gode øgleen vennligheten med å rette skrivefeilene mine 🙂 så takk til ham også.

Dette er ikke det beste når vi snakker om å skrive artikler, visstnok skal det ha et mål og bygge en struktur, og merke små poeng og anmeldelser og etc osv ... Nå gjelder dette ikke bare blogger generelt, men er viktig i en programvare som later til å være bra good For denne oppgaven, og etter noen problemer med versjonskontrollprogramvaren som ble brukt i utviklingen av kjernen for noen år siden, ble den født git ????

Hvor å lære git?

Mengden dokumentasjon rundt git er svimlende, selv om vi bare tok mannssidene som fulgte med installasjonen, ville vi ha en enorm mengde lesing. Jeg personlig finner git book ganske godt designet, til og med jeg har oversatt noen av segmentene i seksjon 7, jeg mangler fortsatt noen få, men gi meg tid 😛 kanskje i denne måneden kan jeg oversette det som er igjen av den delen.

Hva gjør git?

Git er designet for å være rask, effektiv, enkel og for å støtte store mengder informasjon, tross alt opprettet kjernefellesskapet det for programvaren deres, som er et av de største fellesverkene av gratis programvare i verden og har hundrevis av bidrag pr. time i en kodebase som overstiger en million linjer.

Det interessante med git er dens måte å vedlikeholde dataversjoner på. Tidligere (andre versjonskontrollprogrammer) tok komprimeringer av alle eksisterende filer på et tidspunkt i historien, som å lage en backup. Git tar en annen tilnærming når du utfører en commit et punkt i historien er markert, det punktet i historien har en rekke modifikasjoner og fungerer, på slutten av dagen blir alle modifikasjonene satt sammen over tid og filene er oppnådd for å kunne komprimere eller markere som milepæler for versjoner . Siden jeg vet at alt dette høres komplisert ut, skal jeg ta deg med på en magisk reise i et superbasisk eksempel.

Lite beregningsprosjekt

Calculamatics vil være et program som vil finne kvadratene til et gitt tall, vi vil gjøre det i C og det vil være så enkelt som mulig, så forvent ikke mye sikkerhetskontroll fra meg. Først skal vi lage et lager, jeg vil gjøre det med Github for å drepe to fugler i en smekk:

Egen. Christopher Diaz Riveros

Vi har lagt til et par ganske enkle ting som lisensen (veldig viktig hvis du vil beskytte arbeidet ditt, i mitt tilfelle, tvinge dem til å dele resultatene hvis de vil bruke det som en base: P)

La oss nå gå til vår kjære terminal, git clone er kommandoen som er ansvarlig for nedlasting av depotet i url tildelt og lage en lokal kopi på datamaskinen vår.

Egen. Christopher Diaz Riveros

La oss nå sjekke med git log hva som har skjedd i prosjektets historie:

Her har vi mye informasjon i forskjellige farger 🙂 la oss prøve å forklare det:

den første gule linjen er "forplikt strekkode" hver forpliktelse har sin egen unike identifikator, som du kan gjøre mange ting med, men vi lagrer den til senere. Nå har vi gjort det HEAD av celeste og master grønn. Dette er "pekepinner" deres funksjon er å peke på den nåværende plasseringen av historien vår (HEAD) og grenen vi jobber med på datamaskinen vår (master).

origin/master er motstykket til internett, origin er standardnavnet som er tildelt vårt URL, Og master er grenen du jobber i ... for å holde det enkelt, de som har en / er de som ikke er på teamet vårt, men er referanser til det som er på internett.

Så har vi forfatteren, datoen og klokkeslettet og forpliktelsesoppsummeringen. Dette er en liten gjennomgang av hva som har skjedd på det tidspunktet i historien, veldig viktig i mange prosjekter, og det er mye informasjon fordømt. La oss se nærmere på hva som skjedde i kommisjonen git show <código-de-commit>

Egen. Christopher Diaz Riveros

Kommandoen git show tar oss til dette skjermbildet i patchformat, hvor du kan se hva som er lagt til og hva som er fjernet (hvis noe hadde blitt fjernet) på den tiden i historien, så langt viser det oss bare at postene .gitignore,README.mdLICENSE.

La oss nå komme i gang, la oss skrive en fil 🙂 vi lager den første milepælen i vår historie 😀:

Egen. Christopher Diaz Riveros

Kort fortalt skal vi lage et program som viser oss antall argumenter som ble sendt når du utførte det, enkelt 🙂

Egen. Christopher Diaz Riveros

Det var enkelt 🙂 la oss se følgende nyttige kommando: git status

Egen. Christopher Diaz Riveros

En godhjertet sjel har oversatt git for å gjøre det enkelt å følge, her har vi mye nyttig informasjon, vi vet at vi er i mastergrenen, som vi er oppdatert med origin/master(Github-grenen), vi har filer som ikke er sporet! og at for å legge dem til må vi bruke git add, la oss prøve 🙂

Egen. Christopher Diaz Riveros

Nå har vi et nytt grønt område der filen som vi har lagt til i arbeidsområdet vises. På dette stedet kan vi gruppere endringene våre for å gjøre en forpliktelse, forpliktelsen består av en milepæl gjennom historien til prosjektet vårt, vi skal opprette forpliktelsen 🙂 git commit

Egen. Christopher Diaz Riveros

Kort forklart er den gule linjen tittelen på vår forpliktelse, jeg skriver main.c for en visuell referanse. Den svarte teksten er forklaringen på endringene som ble gjort siden forrige forpliktelse til nå 🙂 vi lagrer filen og vi vil se forpliktelsen lagret i registeret.

Egen. Christopher Diaz Riveros

Nå skal vi se historien til prosjektet vårt med git log

Egen. Christopher Diaz Riveros

Igjen i loggen, nå kan vi se at de grønne og røde linjene har vært forskjellige, det er fordi vi i datamaskinen vår er forpliktet over de som er lagret på internett 🙂 vi kommer til å fortsette arbeidet, antar at nå vil jeg vis en melding i tilfelle brukeren legger mer enn ett argument i programmet (som vil gjøre kalkulatoren forvirret 🙂)

Som vi kan se, har programmet vårt vokst mye 😀, nå har vi funksjonen imprimir_ayuda() som viser en melding om hvordan du bruker beregninger, og i blokken main() nå gjør vi en anmeldelse med if(Noe som vi vil se i en programmeringsveiledning på et annet tidspunkt, for nå er det bare nødvendig å vite at hvis mer enn to argumenter legges inn i beregningen, at programmet avsluttes og hjelpen vises. La oss utføre det:

Egen. Christopher Diaz Riveros

Som du ser nå, skrives det ut nummeret som er levert i stedet for antall argumenter, men som jeg ikke hadde fortalt deg før 🙂 for nysgjerrige echo $? viser utgangskoden til det sist utførte programmet, altså 1 fordi det har endt med en feil. La oss nå se hvordan historien vår går:

Egen. Christopher Diaz Riveros

Nå vet vi at vi er 1 forpliktet foran Github, at filen main.c er endret, la oss opprette neste forpliktelse ved å gjøre git add main.c  y luego git commit????

Egen. Christopher Diaz Riveros

Nå har vi vært litt mer spesifikke, siden vi har implementert en funksjon og endret valideringskoden. Nå som den er lagret, skal vi gjennomgå vår siste endring. Vi kan se det med git show HEAD

Egen. Christopher Diaz Riveros

Nå kan du se de røde og grønne linjene, vi har lagt til biblioteket stdlib.h, endret mye av koden og la funksjonen til historien vår.

Nå skal vi se loggen: (git log)

Egen. Christopher Diaz Riveros

Vi kan se at vi er to commits foran Github-versjonen, vi skal utjevne markøren litt 🙂 for det bruker vi git push origin master

Med dette sier vi, send mine forpliktelser til url origin på grenen master

Egen. Christopher Diaz Riveros

Gratulerer! Nå er endringene dine på Github, tror du ikke meg? la oss se gjennom det 😉

Egen. Christopher Diaz Riveros

Nå har vi de tre forpliktelsene på Github 🙂

Oppsummering

Vi har berørt de mest grunnleggende aspektene av git, nå kan de lage en enkel arbeidsflyt i prosjektene sine. Dette er nesten ingenting av alt det store spekteret av ting som kan gjøres med git, men det er absolutt det mest praktiske og hverdagslige for en utvikler eller blogger. Vi har ikke nådd slutten av kalkulatoren, men vi kommer til å la det stå en gang til 😉 Tusen takk for at du kom hit, og jeg håper det hjelper deg å delta i flere prosjekter 😀 Hilsen


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   Pablo sa

    Bra ... Jeg vet ikke om du er det, men jeg kan ikke se bildene i denne rapporten ...

    Hilsen

  2.   Pablo sa

    Det var et problem med nettleseren min. Skam over irritasjonen.

  3.   Tecprog verden sa

    Jeg må fortsatt lese den mer detaljert, jeg er en nybegynner.

  4.   Bill sa

    Flott artikkel til å begynne med git, selv om jeg anbefaler å ta notater for å forstå detaljene.
    Et par ting har ikke vært klare for meg:
    hva er alternativet for Legg til .gitignore Cselv om jeg antar at jeg får se det når jeg øver det,
    hvorfor må du gjøre om git add main.c før neste git commit, forteller add main.c at git skal sammenligne den filen med nettverksversjonen? Sammenligner det ikke automatisk alle filer som er lagt til for sporing?

    1.    ChrisADR sa

      Hei Guillermo 🙂 det er bra at du syntes det var nyttig å svare på spørsmålene dine:

      .gitignore er en fil som forteller git hvilke formater eller mønstre som skal ignoreres. I dette tilfellet vil valg av C føre til .o-filer blir ignorert og andre som genereres ved kompileringstid, noe som er bra fordi ellers vil git bli gal umiddelbart av hver kompilering og oppfølging 🙂 du kan sjekke det store antallet formater som git utelates i C-malen ved å gjøre cat eller med en tekstredigerer.

      Selv om git vil holde oversikt over hver fil som er lagt til i arbeidstreet, er det nødvendig å spesifikt velge hvilke filer som skal inn i neste kommisjon, for å gi deg et eksempel, la oss anta at arbeidet ditt har ført til at du endrer 5 forskjellige filer før du kan for å se resultatet. Hvis du vil være litt mer spesifikk og forklare hva som gjøres i hver enkelt, kan du gjøre git add file1; git commit; git add file2; git commit… .3,4,5; git begå. På denne måten er historien din ren og endringene veldefinerte. Og i tilfelle du må endre noe, eller tilbakestille (mer avanserte emner), kan du tilbakestille bestemte ting eller legge til bestemte ting uten å endre resten.

      Håper det hjelper 🙂 hilsener og takk for at du spurte

    2.    ChrisADR sa

      PS: git add sier ikke å sammenligne med versjonen på nettverket, men med den forrige forpliktelsen i arbeidslinjen din, hvis den har vært lokal (grønn), vil den sammenligne den med den, hvis den har vært ekstern (rød ) det vil sammenligne med den andre. Bare for å avklare 😉

      1.    Bill sa

        Perfekt, selvfølgelig klargjør det.