Rašyti savo istorijas su git

Sveiki visi 🙂 Prieš tęsdamas užsakymų sąrašo tekstus, noriu pasidžiaugti „git 2.16“ išleidimu, dėkodamas kiekvienam pataisą atsiuntusiam ir kiekvienam iš vartotojų. Iš viso tarp atnaujinimų ir taisymų turėjome kaip 4000 eilučių , kuris nelabai kalba apie mano pirmąją versiją, bet kalba apie jūsų gerumą 🙂 Ačiū! Dabar aš jums pasakysiu mažą paslaptį, iki šiol nebuvo laiko, kai aš nesėdėčiau rašyti straipsnio ir daug apie tai galvojau, paprastai aš tiesiog rašau iš eilės, o tada geras driežas priima malonumą ištaisyti mano spausdinimo klaidas 🙂 tad ačiū ir jam.

Tai nėra geriausia, kai kalbame apie straipsnių rašymą, manoma, kad tai turėtų turėti tikslą ir sukurti struktūrą, pažymėti mažus dalykus, apžvalgas ir pan., Ir tt ... Dabar tai taikoma ne tik tinklaraščiams apskritai, bet ir labai svarbu programinė įranga, kuri apsimeta gera 🙂 Šiai užduočiai atlikti ir po kai kurių problemų su versijų valdymo programine įranga, kuri prieš keletą metų buvo naudojama kuriant branduolį, ji gimė git ????

Kur mokytis git?

Dokumentų kiekis, palyginti su „git“, yra stulbinantis, net jei mes tiesiog paimtume „man“ puslapius, kurie buvo kartu su diegimu, mes turėtume nepaprastai daug skaityti. Aš asmeniškai randu git knyga gana gerai suprojektuotas, net aš išverčiau kai kuriuos 7 skyriaus segmentus, dar turiu kelis, bet duok laiko 😛 gal šį mėnesį galiu išversti, kas liko iš tos dalies.

Ką git daro?

„Git“ sukurta taip, kad būtų greita, efektyvi, paprasta ir palaikanti didelę informacijos apimtį, juk branduolio bendruomenė ją sukūrė savo programinei įrangai, kuri yra vienas didžiausių bendrų laisvos programinės įrangos kūrinių pasaulyje ir turi šimtus įmokų per valandą kodų bazėje, viršijančioje milijoną eilučių.

Įdomus „git“ dalykas yra duomenų versijų palaikymo būdas. Senais laikais (kitos versijų valdymo programos) buvo suspausti visi esami failai tam tikru istorijos momentu, pavyzdžiui, atsarginės. Atlikdamas a, Gitas laikosi kitokio požiūrio commit pažymėtas istorijos taškas, tas istorijos taškas turi daugybę modifikacijų ir veikia, dienos pabaigoje visos modifikacijos laikui bėgant sujungiamos ir gaunami failai, kad būtų galima juos suspausti arba pažymėti kaip versijos. Kadangi žinau, kad visa tai skamba komplikuotai, pasiimsiu jus į stebuklingą kelionę kaip super pagrindinį pavyzdį.

Mažas skaičiavimo projektas

Skaičiavimo programa bus programa, kuri ras nurodyto skaičiaus kvadratus, mes tai padarysime C ir tai bus kuo paprasčiau, todėl nesitikėkite iš manęs daug saugumo patikrinimų. Pirmiausia mes sukursime saugyklą, aš padarysiu tai kartu su Github, kad vienu akmeniu užmuščiau du paukščius:

Savo. Christopheris Diazas Riverosas

Mes pridėjome keletą gana paprastų dalykų, tokių kaip licencija (labai svarbu, jei norite apsaugoti savo darbą, mano atveju priversti juos pasidalinti rezultatais, jei jie nori jį naudoti kaip pagrindą: P)

Dabar eikime į mūsų brangų terminalą, git clone yra komanda, atsakinga už atsisiųsti saugyklą, esančią url priskyrė ir sukuria vietinę kopiją mūsų kompiuteryje.

Savo. Christopheris Diazas Riverosas

Dabar patikrinkime git log kas nutiko mūsų projekto istorijoje:

Čia mes turime daug skirtingų spalvų informacijos: pabandykime tai paaiškinti:

pirmoji geltona eilutė yra „įsipareigoti brūkšninį kodą“, kiekvienas įsipareigojimas turi savo unikalų identifikatorių, kuriuo galite atlikti daugybę dalykų, bet mes jį išsaugosime vėlesniam laikui. Dabar mes turime HEAD Celestės ir master žalias. Tai yra „rodyklės“, jų funkcija yra nurodyti dabartinę mūsų istorijos vietą (HEAD) ir filialą, kuriame dirbame savo kompiuteryje (master).

origin/master yra interneto atitikmuo, origin yra numatytasis vardas, priskirtas mūsų URLIr master yra šaka, kurioje dirbate ... kad būtų paprasčiau, tie, kurie turi / yra tie, kurie nėra mūsų komandoje, tačiau yra nuorodos į tai, kas yra internete.

Tada mes turime autorių, datą ir laiką bei įsipareigojimų santrauką. Tai nedidelė apžvalga to, kas įvyko tuo istorijos momentu, labai svarbi daugelyje projektų ir yra pasmerkta daug informacijos. Pažvelkime atidžiau į tai, kas įvyko įsipareigojime su komanda git show <código-de-commit>

Savo. Christopheris Diazas Riverosas

Komanda „git show“ patenka į šį ekraną pleistro formatu, kur galite pamatyti, kas buvo pridėta ir kas buvo pašalinta (jei kažkas buvo pašalinta) tuo metu istorijoje, kol kas mums rodo tik tai, kad įrašai .gitignore,README.mdLICENSE.

Dabar eikime prie reikalo, parašykime failą 🙂 sukursime pirmąjį etapą mūsų istorijoje 😀:

Savo. Christopheris Diazas Riverosas

Trumpai tariant, mes sukursime programą, kuri mums parodys paprastų argumentų skaičių, pateiktą ją vykdant

Savo. Christopheris Diazas Riverosas

Tai buvo lengva 🙂 dabar pažiūrėkime šią naudingą komandą: git status

Savo. Christopheris Diazas Riverosas

Kažkokia nuoširdi siela išvertė gitą, kad būtų lengva sekti, čia mes turime daug naudingos informacijos, žinome, kad esame pagrindiniame filiale, kad esame atnaujinti origin/master(„Github“ filialas), turime neužtikrintus failus! ir kad jas pridėtume, turime naudoti git add, pabandykime 🙂

Savo. Christopheris Diazas Riverosas

Dabar turime naują žalią erdvę, kurioje rodomas failas, kurį pridėjome prie darbo srities. Šioje vietoje galime sugrupuoti savo pokyčius, kad galėtume įsipareigoti, įsipareigojimą sudaro etapas per visą mūsų projekto istoriją, mes ketiname sukurti įsipareigojimą 🙂 git commit

Savo. Christopheris Diazas Riverosas

Trumpai paaiškinta, kad geltona linija yra mūsų įsipareigojimo pavadinimas, aš rašau main.c, kad tik vizualiai paminėčiau. Juodas tekstas yra pakeitimų, padarytų nuo ankstesnio įsipareigojimo iki šiol, paaiškinimas: išsaugome failą ir pamatysime, kad įsipareigojimas išsaugotas registre.

Savo. Christopheris Diazas Riverosas

Dabar pamatysime savo projekto istoriją git log

Savo. Christopheris Diazas Riverosas

Vėlgi žurnale galime pamatyti, kad žalios ir raudonos linijos skiriasi, tai yra todėl, kad mūsų kompiuteryje mes įsipareigojame aukščiau tų, kurie saugomi internete. Mes tęsime darbą, tarkime, kad dabar aš noriu parodyti pranešimas, jei vartotojas programoje pateikia daugiau nei vieną argumentą (dėl kurio skaičiuoklė bus supainiota 🙂)

Kaip matome, mūsų programa labai išaugo 😀, dabar mes turime funkciją imprimir_ayuda() kuriame pateikiamas pranešimas apie tai, kaip naudoti skaičiavimus, ir laukelyje main() dabar mes darome apžvalgą su if(Kažką, ką pamatysime programavimo pamokoje kitu metu, kol kas reikia tik žinoti, kad jei į skaičiuoklę įvedama daugiau nei 2 argumentai, programa baigiasi ir rodoma pagalba. Vykdykime tai:

Savo. Christopheris Diazas Riverosas

Kaip matote, dabar jis išspausdina pateiktą numerį vietoj argumentų skaičiaus, bet to dar nesakiau 🙂 smalsuoliams echo $? rodo paskutinės vykdomos programos išėjimo kodą, kuris yra 1 nes baigėsi klaida. Dabar apžvelkime, kaip vyksta mūsų istorija:

Savo. Christopheris Diazas Riverosas

Dabar mes žinome, kad esame 1 įsipareigoję prieš „Github“, kad byla main.c buvo modifikuotas, sukursime kitą įsipareigojimą atlikdami git add main.c  ir git commit????

Savo. Christopheris Diazas Riverosas

Dabar mes buvome šiek tiek konkretesni, nes įdiegėme funkciją ir pakeitėme patvirtinimo kodą. Dabar, kai jis bus išsaugotas, apžvelgsime paskutinius pakeitimus. Mes galime tai pamatyti git show HEAD

Savo. Christopheris Diazas Riverosas

Dabar galite pamatyti raudonas ir žalias linijas, mes pridėjome biblioteką stdlib.h, pakeitė didelę kodo dalį ir įtraukė funkciją į mūsų istoriją.

Dabar mes pamatysime žurnalą: (git log)

Savo. Christopheris Diazas Riverosas

Matome, kad esame du įsipareigojimai prieš „Github“ versiją, mes šiek tiek išlyginsime žymeklį 🙂 git push origin master

Tai sakydami išsiųskite mano įsipareigojimus URL origin ant šakos master

Savo. Christopheris Diazas Riverosas

Sveikiname! Dabar jūsų pakeitimai susiję su „Github“, ar netikite manimi? peržiūrėkime 😉

Savo. Christopheris Diazas Riverosas

Dabar mes turime 3 įsipareigojimus „Github 🙂“

Santrauka

Mes palietėme pagrindinius git, dabar jie gali sukurti paprastą darbo eigą savo projektuose, tai vargu ar yra kažkas iš visų įvairiausių dalykų, kuriuos galima padaryti su „git“, tačiau tai tikrai pats praktiškiausias ir kasdienis dalykas kūrėjui ar tinklaraštininkui. Skaičiuoklė nesibaigė, bet tai paliksime kitam kartui 😉 Labai ačiū, kad patekote čia ir tikiuosi, kad tai padės jums dalyvauti keliuose projektuose 😀 Sveikinimai


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   pablo sakė

    Sveiki ... Aš nežinau, ar jūs, bet nematau šios ataskaitos vaizdų ...

    saludos

  2.   pablo sakė

    Tai buvo mano naršyklės problema. Gėda dėl susierzinimo.

  3.   „Tecprog World“ sakė

    Aš vis tiek turiu jį perskaityti išsamiau, aš esu naujokas.

  4.   Guillermo sakė

    Puikus straipsnis pradedant nuo „git“, nors rekomenduoju užsirašyti, kad suprastum detalę.
    Keli dalykai man nebuvo aiškūs:
    koks variantas Pridėti .gitignore Cnors spėju, kad pamatysiu, kai praktikuosiu,
    Kodėl „git add main.c“ reikia atlikti dar kartą prieš kitą „git“ įsipareigojimą, ar pridėjus main.c liepiama „git“ palyginti tą failą su tinklo versija? Ar jis automatiškai nepalygina visų pridėtų failų stebėjimui?

    1.    ChrisADR sakė

      Sveiki, Guillermo, gerai, kad jums pasirodė naudinga atsakyti į jūsų klausimus:

      .gitignore yra failas, nurodantis „git“, kuriuos formatus ar šablonus ignoruoti, šiuo atveju pasirinkus „C“, bus ignoruojami .o failai ir kiti, sugeneruoti kompiliavimo metu, o tai yra gerai, nes kitaip jūsų „git“ iškart pašėltų kiekvieno kompiliavimo ir tolesnio tyrimo 🙂 galite patikrinti, ar daug formatų, kurių trūksta, jo C šablone atlikdami katę arba naudodami teksto redaktorių.

      Nors „git“ stebės kiekvieną failą, pridėtą prie darbo medžio, būtina konkrečiai pasirinkti, kurie failai bus įvesti į kitą įsipareigojimą, ir pateikti pavyzdį. Tarkime, kad jūsų darbas paskatino jus modifikuoti 5 skirtingus failus anksčiau mokėti pamatyti rezultatą. Jei norite būti šiek tiek konkretesnis ir paaiškinti, kas daroma kiekviename, galite padaryti git add file1; git įsipareigoti; git pridėti failą2; git įsipareigoti ... 3,4,5; git įsipareigoti. Tokiu būdu jūsų istorija yra švari, o pokyčiai gerai apibrėžti. Jei jums teks ką nors pakeisti arba grąžinti (labiau pažengusias temas), galite pakeisti konkrečius dalykus arba pridėti konkrečių dalykų, nekeisdami likusio.

      Tikiuosi, kad tai padės sveikinimai ir ačiū, kad paklausėte

    2.    ChrisADR sakė

      PS: „git add“ nesako lyginti su tinklo versija, tačiau su ankstesniu įsipareigojimu jūsų darbo eilutėje, jei jis buvo vietinis (žalias), jis palygins jį su tuo, jei jis buvo nuotolinis (raudonas), jis bus palyginti su tuo kitu. Tik tam, kad paaiškintum 😉

      1.    Guillermo sakė

        Puiku, žinoma, tai paaiškina.