Oma lugude kirjutamine gitiga

Tere kõigile! Enne tellimuste loendi tekstidega jätkamist tahan tähistada git 2.16 väljaandmist, tänades kõiki plaastri saatjaid ja kõiki kasutajaid, kokku oli värskenduste ja paranduste vahel umbes 4000 rida , mis ei räägi eriti hästi minu esimesest versioonist, kuid räägib siiski teie lahkusest 🙂 Aitäh! Nüüd räägin teile väikese saladuse, siiani pole olnud aega, kus ma poleks artiklit kirjutama istunud ja oleksin selle üle palju mõelnud, tavaliselt kirjutan lihtsalt järjest ja siis võtab hea sisalik kaasa parandage minu kirjutamisvead 🙂 nii et aitäh ka temale.

See ei ole parim, kui me räägime artiklite kirjutamisest, väidetavalt peaks sellel olema eesmärk ja ülesehitatud struktuur ning märkima väikesed punktid ja ülevaated jne jne. Nüüd kehtib see mitte ainult ajaveebide kohta üldiselt, vaid on oluline ka tarkvara, mis teeskleb head. task Selle ülesande jaoks ja pärast mõned aastad tagasi kerneli arendamisel kasutatud versioonihaldustarkvara probleeme, sündis see git 🙂

Kust õppida git?

Giti puudutava dokumentatsiooni hulk on jahmatav, isegi kui võtaksime lihtsalt installiga kaasas olnud man-lehed, oleks meil tohutult palju lugemist. Mina isiklikult leian git raamat üsna hästi kujundatud, isegi mina olen tõlkinud osa 7. sektsioonist, paar on veel, aga andke aega 😛 ehk sel kuul saan tõlkida, mis sellest osast alles on.

Mida git teeb?

Git on loodud kiireks, tõhusaks, lihtsaks ja suure hulga teabe toetamiseks. Lõppude lõpuks lõi kerneli kogukond selle oma tarkvara jaoks, mis on üks suurimaid vaba tarkvara ühisteoseid maailmas ja millel on sadu kaastöid tunnis koodibaasis, mis ületab miljonit rida.

Giti huvitav asi on viis andmete versioonide säilitamiseks. Varem tihendasid (muud versioonihaldusprogrammid) kõik olemasolevad failid teatud ajaloohetkel, näiteks backup. Git kasutab teistsugust lähenemist, kui esitab a commit märgitakse ajaloo punkt, sellel ajaloopunktil on rida muudatusi ja toiminguid, päeva lõpuks pannakse kõik muudatused aja jooksul kokku ja failid saadakse, et neid saaks tihendada või versioonide verstapostidena märkida . Kuna ma tean, et see kõik kõlab keeruliselt, viin teid maagilisele teekonnale ülimalt lihtsa näitega.

Väike kalkulaatika projekt

Kalkulaatika saab olema programm, mis leiab etteantud arvu ruudud, me teeme seda C-s ja see on võimalikult lihtne, nii et ärge oodake minult palju turvakontrolli. Kõigepealt loome hoidla, teen seda Githubiga, et tappa kaks kärbest ühe hoobiga:

Oma. Christopher Diaz Riveros

Oleme lisanud paar üsna lihtsat asja, näiteks litsentsi (väga oluline, kui soovite oma tööd kaitsta, minu puhul sundida neid tulemusi jagama, kui nad soovivad seda alusena kasutada: P)

Nüüd lähme oma kalli terminali juurde, git clone on käsk, mis vastutab asukohas asuva hoidla allalaadimise eest url määratud ja looge meie arvutis kohalik koopia.

Oma. Christopher Diaz Riveros

Nüüd kontrollime git log mis on meie projekti ajaloos juhtunud:

Siin on meil palju erinevates värvides infot 🙂 proovime seda selgitada:

esimene kollane rida on "commit vöötkood" igal commitil on oma kordumatu identifikaator, millega saab teha palju asju, kuid salvestame selle hilisemaks ajaks. Nüüd on meil HEAD celeste ja master roheline. Need on "osutajad", mille ülesanne on osutada meie ajaloo praegusele asukohale (HEAD) ja haru, millega meie arvutis töötame (master).

origin/master on Interneti vaste, origin on vaikimisi nimi, mis on määratud meie URL, Ja master on haru, kus te töötate ... et see oleks lihtne, siis need, kellel on a / on need, mis pole meie meeskonnas, kuid on viited Internetis leiduvale.

Siis on meil autor, kuupäev ja kellaaeg ning kohustuse kokkuvõte. See on väike ülevaade sellel ajaloohetkel juhtunust, mis on paljudes projektides väga oluline ja palju teavet on hukka mõistetud. Vaatame lähemalt, mis käsuga commitis juhtus git show <código-de-commit>

Oma. Christopher Diaz Riveros

Käsk git show viib meid patch-vormingus sellele ekraanile, kus on näha, mis sellel ajaloohetkel on lisatud ja mis on eemaldatud (kui midagi on eemaldatud), seni näitab meile vaid seda, et kirjed .gitignore,README.mdLICENSE.

Nüüd asume asja juurde, kirjutame faili 🙂 loome oma ajaloo esimese verstaposti 😀:

Oma. Christopher Diaz Riveros

Lühidalt, me loome programmi, mis näitab meile selle käivitamisel edastatud argumentide arvu, lihtne 🙂

Oma. Christopher Diaz Riveros

See oli lihtne 🙂 nüüd vaatame järgmist kasulikku käsku: git status

Oma. Christopher Diaz Riveros

Mõni südamlik hing on tõlkinud giti, et seda oleks lihtne jälgida, siin on meil palju kasulikku teavet, teame, et oleme põhiharus, et meid värskendatakse origin/master(Githubi filiaal), meil on jälgimata failid! ja mida peame nende lisamiseks kasutama git add, proovime 🙂

Oma. Christopher Diaz Riveros

Nüüd on meil uus haljasala, kus kuvatakse fail, mille oleme tööalale lisanud. Sellesse kohta saame oma muudatused rühmitada, et saaksime kohustuse teha, kohustus koosneb verstapostist kogu meie projekti ajaloos, me loome kohustuse 🙂 git commit

Oma. Christopher Diaz Riveros

Lühidalt öeldes on kollane joon meie kohustuse pealkiri, ma kirjutan main.c pelgalt visuaalseks viiteks. Must tekst on selgitus eelmisest commit'ist kuni praeguseni tehtud muudatuste kohta 🙂 salvestame faili ja näeme oma commit salvestatuna registris.

Oma. Christopher Diaz Riveros

Nüüd vaatame oma projekti ajalugu git log

Oma. Christopher Diaz Riveros

Jälle logis, nüüd näeme, et roheline ja punane joon on erinenud, see on tingitud sellest, et meie arvutis oleme pühendunud Internetis salvestatutest 🙂 jätkame tööd, oletame, et nüüd tahan näita teadet juhuks, kui kasutaja paneb programmi rohkem kui ühe argumendi (mis ajaks kalkulaatori segadusse 🙂)

Nagu näeme, on meie programm kõvasti kasvanud 😀, nüüd on see funktsioon käes imprimir_ayuda() mis kuvab teate arvutuste kasutamise kohta ja plokis main() nüüd teeme ülevaate if(Midagi, mida näeme mõnel muul ajal programmeerimisõpetuses, praegu on vaja ainult teada, et kui arvutusse on sisestatud rohkem kui 2 argumenti, siis programm lõpeb ja kuvatakse spikker. Teeme selle:

Oma. Christopher Diaz Riveros

Nagu näete, trükib see nüüd argumentide arvu asemel numbri, mis on edastatud, kuid mida ma teile varem ei öelnud 🙂 uudishimulikele echo $? näitab viimati käivitatud programmi väljumiskoodi, mis on 1 sest see on lõppenud ekslikult. Vaatame nüüd üle, kuidas meie lugu kulgeb:

Oma. Christopher Diaz Riveros

Nüüd teame, et oleme Githubist 1 kohustuse võrra ees, et fail main.c on muudetud, loome järgmise sissekande tehes git add main.c  ja siis git commit🙂

Oma. Christopher Diaz Riveros

Nüüd oleme olnud veidi täpsemad, kuna oleme juurutanud funktsiooni ja muutnud valideerimiskoodi. Nüüd, kui see on salvestatud, vaatame üle oma viimase muudatuse. Me näeme seda koos git show HEAD

Oma. Christopher Diaz Riveros

Nüüd näete punaseid ja rohelisi jooni, lisasime raamatukogu stdlib.h, muutis suurt osa koodist ja lisas funktsiooni meie loole.

Nüüd hakkame logi vaatama:(git log)

Oma. Christopher Diaz Riveros

Näeme, et oleme Githubi versioonist kaks kohustust ees, võrdsustame markerit veidi 🙂 selleks kasutame git push origin master

Sellega me ütleme, et saada minu kohustused URL-ile origin oksal master

Oma. Christopher Diaz Riveros

Palju õnne! Nüüd on teie muudatused Githubis, kas te ei usu mind? vaatame üle 😉

Oma. Christopher Diaz Riveros

Nüüd on meil Githubis 3 kohustust 🙂

Kokkuvõte

Oleme puudutanud selle kõige põhilisemaid aspekte git, nüüd saavad nad oma projektides luua lihtsa töövoo. See on vaevalt midagi paljudest gitiga tehtavatest asjadest, kuid arendaja või blogija jaoks on see kindlasti kõige praktilisem ja igapäevasem. Kalkulaatoriga pole veel lõppu jõudnud, aga jätame selle mõneks teiseks korraks


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

  1.   Pablo DIJO

    Hea... Ma ei tea, kas sa, aga ma ei näe selles aruandes pilte...

    seoses

  2.   Pablo DIJO

    See oli probleem minu brauseris. Häbi tüütuse pärast.

  3.   Tecprogi maailm DIJO

    Pean veel täpsemalt läbi lugema, olen algaja.

  4.   Guillermo DIJO

    Suurepärane artikkel gitiga alustamiseks, kuigi soovitan üksikasjade mõistmiseks teha märkmeid.
    Paar asja jäi mulle arusaamatuks:
    mis variant on Lisage .gitignore Ckuigi ma arvan, et ma näen seda, kui ma seda harjutan,
    Miks me peame enne järgmist git'i sissekandmist uuesti tegema faili git add main.c, kas main.c lisamine käsib gitil seda faili võrguversiooniga võrrelda? Kas see ei võrdle automaatselt kõiki lisatud faile jälgimiseks?

    1.    ChrisADR DIJO

      Tere Guillermo 🙂 Tore, et oli kasulik vastata oma küsimustele:

      .gitignore on fail, mis ütleb gitile, milliseid vorminguid või mustreid ignoreerida, sel juhul C valimine ignoreerib .o-faile ja teisi, mis genereeritakse kompileerimise ajal, mis on hea, sest vastasel juhul läheks teie git lolliks. iga koostamine ja järeltegevus 🙂 saate kontrollida suurt hulka vorminguid, mille git oma C-mallist välja jätab, tehes cat või tekstiredaktoriga.

      Kuigi git jälgib kõiki tööpuusse lisatud faile, on vaja konkreetselt valida, millised failid sisestatakse järgmisele kinnitamisele. Näiteks oletame, et teie töö on viinud teid muutma 5 erinevat faili, enne kui saate seda teha et tulemust näha. Kui soovid olla veidi täpsem ja selgitada, mida igaühes tehakse, võid teha git add file1; git commit, git add file2, git commit… .3,4,5; git commit. Nii on teie lugu puhas ja muudatused hästi määratletud. Ja kui peate midagi muutma või tagasi pöörduma (täpsemad teemad), saate konkreetseid asju tagasi võtta või lisada konkreetseid asju ilma ülejäänud muutmata.

      Loodetavasti aitab 🙂 tervitused ja aitäh küsimast

    2.    ChrisADR DIJO

      PS: git add ei ütle, et võrrelge võrgus oleva versiooniga, kuid teie töövaldkonna eelmise commitiga, kui see on olnud kohalik (roheline), siis võrdleb seda sellega, kui see on olnud kaugversiooniga (punane ) võrreldakse selle teisega. Lihtsalt selgituseks 😉

      1.    Guillermo DIJO

        Täiuslik, muidugi täpsustab.