Kuandika hadithi zako mwenyewe na git

Halo kila mtu 🙂 Kabla ya kuendelea na maandishi ya orodha ya agizo, nataka kusherehekea kutolewa kwa git 2.16 kwa kuwashukuru kila mmoja wa wale waliotuma kiraka na kila mmoja wa watumiaji, kwa jumla tulikuwa na mistari 4000 kati ya sasisho na marekebisho. , ambayo haionyeshi sana toleo langu la kwanza, lakini inazungumza juu ya fadhili zako your Asante! Sasa, nitakuambia siri kidogo, mpaka sasa hakuna wakati ambao sijakaa chini kuandika nakala na kufikiria sana juu yake, kawaida mimi huandika tu mfululizo, halafu mjusi mzuri anachukua fadhili za sahihisha makosa yangu ya kuchapa 🙂 kwa hivyo asante kwake pia.

Hii sio bora wakati tunazungumza juu ya kuandika nakala, ikidhaniwa inapaswa kuwa na lengo na kujenga muundo, na kuashiria alama ndogo na hakiki na nk n.k .. Sasa, hii haitumiki tu kwa blogi kwa ujumla, lakini ni muhimu katika programu inayojifanya nzuri 🙂 Kwa kazi hii, na baada ya shida kadhaa na programu ya kudhibiti toleo ambayo ilitumika katika ukuzaji wa kernel miaka michache iliyopita, ilizaliwa git 🙂

Wapi kujifunza git?

Kiasi cha nyaraka karibu na git ni ya kushangaza, hata ikiwa tutachukua tu kurasa za wanaume ambazo zilikuja na usakinishaji, tungesoma sana. Mimi binafsi hupata kitabu cha git iliyoundwa vizuri, hata mimi nimetafsiri sehemu zingine za kifungu cha 7, bado nina chache, lakini nipe muda - labda katika mwezi huu ninaweza kutafsiri kile kilichobaki cha sehemu hiyo.

Je! Git hufanya nini?

Git imeundwa kuwa ya haraka, yenye ufanisi, rahisi na kusaidia habari nyingi, baada ya yote, jamii ya kernel iliiunda kwa programu yao, ambayo ni moja wapo ya kazi kubwa ya pamoja ya programu ya bure ulimwenguni na ina mamia ya michango kwa saa kwa msingi wa msimbo ambao unazidi laini milioni moja.

Jambo la kufurahisha kuhusu git ni njia yake ya kudumisha matoleo ya data. Katika siku za zamani (programu zingine za kudhibiti toleo) zilichukua mikunjo ya faili zote zilizopo wakati fulani kwenye historia, kama kutengeneza faili ya Backup. Git inachukua njia tofauti, wakati wa kufanya commit hatua katika historia imewekwa alama, hatua hiyo katika historia ina safu ya marekebisho na inafanya kazi, mwisho wa siku, marekebisho yote yamewekwa pamoja kwa muda na faili zinapatikana kuweza kubana au kuweka alama kama hatua kuu za matoleo. Kwa kuwa najua hii yote inasikika kuwa ngumu, nitakuchukua kwenye safari ya kichawi kwa mfano mzuri wa msingi.

Mradi mdogo wa hesabu

Calculamatics itakuwa mpango ambao utapata mraba wa nambari fulani, tutaifanya katika C na itakuwa rahisi iwezekanavyo, kwa hivyo usitegemee ukaguzi mwingi wa usalama kutoka kwangu. Kwanza tutaunda hazina, nitafanya na Github kuua ndege wawili kwa jiwe moja:

Miliki. Christopher Diaz Riveros

Tumeongeza vitu kadhaa rahisi kama leseni (muhimu sana ikiwa unataka kulinda kazi yako, kwa upande wangu, walazimishe kushiriki matokeo ikiwa wanataka kuitumia kama msingi: P)

Sasa wacha tuende kwenye kituo chetu kipenzi, git clone ni amri ambayo inawajibika kupakua hazina iliyoko kwenye url kupewa na kuunda nakala ya ndani kwenye kompyuta yetu.

Miliki. Christopher Diaz Riveros

Sasa wacha tuangalie na git log nini kimetokea katika historia ya mradi wetu:

Hapa tuna habari nyingi katika rangi tofauti 🙂 wacha tujaribu kuelezea:

laini ya kwanza ya manjano ni "ahadi barcode" kila ahadi ina kitambulisho chake cha kipekee, ambacho unaweza kufanya mambo mengi, lakini tutaiokoa kwa baadaye. Sasa tunayo HEAD ya celeste na master kijani. Hizi ni "vidokezo" kazi yao ni kuashiria eneo la sasa la historia yetu (HEAD) na tawi tunalofanya kazi kwenye kompyuta yetu (master).

origin/master mwenzake wa mtandao, origin ni jina la msingi ambalo limepewa yetu URL, Na master ni tawi ambalo unafanya kazi ... kuifanya iwe rahisi, wale ambao wana / ni zile ambazo haziko kwenye timu yetu, lakini ni marejeo ya kile kilicho kwenye mtandao.

Halafu tuna mwandishi, tarehe na saa na muhtasari wa ahadi. Huu ni uhakiki mdogo wa kile kilichotokea wakati huo wa historia, muhimu sana katika miradi mingi na kuna habari nyingi zilizolaaniwa. Wacha tuangalie kwa undani kile kilichotokea katika ahadi na amri git show <código-de-commit>

 

Miliki. Christopher Diaz Riveros

Amri ya git show inatupeleka kwenye skrini hii kwa muundo wa kiraka, ambapo unaweza kuona kilichoongezwa na kilichoondolewa (ikiwa kitu kimeondolewa) wakati huo katika historia, hadi sasa inatuonyesha tu kwamba rekodi .gitignore,README.mdLICENSE.

Sasa hebu tuanze biashara, wacha tuandike faili 🙂 tutaunda hatua ya kwanza ya kwanza katika historia yetu:

Miliki. Christopher Diaz Riveros

Kwa kifupi, tutaunda programu ambayo inatuonyesha idadi ya hoja zilizopitishwa wakati wa kuifanya, rahisi 🙂

Miliki. Christopher Diaz Riveros

Hiyo ilikuwa rahisi - sasa wacha tuone amri ifuatayo inayofaa: git status

Miliki. Christopher Diaz Riveros

Nafsi yenye moyo mwema imetafsiri git ili iwe rahisi kufuata, hapa tuna habari nyingi muhimu, tunajua kuwa tuko katika tawi kuu, ambalo tunasasishwa na origin/master(tawi la Github), tuna faili ambazo hazijafunguliwa! na kwamba kuziongeza lazima tutumie git add, wacha tujaribu 🙂

Miliki. Christopher Diaz Riveros

Sasa tuna nafasi mpya ya kijani, ambayo faili ambayo tumeongeza kwenye eneo la kazi inaonyeshwa. Katika mahali hapa tunaweza kupanga mabadiliko yetu ili kuweka ahadi, ahadi hiyo ina hatua muhimu katika historia ya mradi wetu, tutaunda ahadi git commit

Miliki. Christopher Diaz Riveros

Imefafanuliwa kwa kifupi, mstari wa manjano ni jina la ahadi yetu, ninaandika main.c kwa kumbukumbu tu ya kuona. Nakala nyeusi ni maelezo ya mabadiliko yaliyofanywa tangu ahadi ya awali hadi sasa - tunahifadhi faili na tutaona ahadi yetu imehifadhiwa kwenye sajili.

Miliki. Christopher Diaz Riveros

Sasa tutaona historia ya mradi wetu na git log

Miliki. Christopher Diaz Riveros

Tena kwenye logi, sasa tunaweza kuona kuwa laini za kijani na nyekundu zimetofautiana, hiyo ni kwa sababu kwenye kompyuta yetu, sisi ni ahadi juu ya zile zilizohifadhiwa kwenye mtandao 🙂 tutaendelea na kazi, tuseme kwamba sasa ninataka kuonyesha ujumbe ikiwa mtumiaji ataweka hoja zaidi ya moja katika programu (ambayo itamfanya kikokotoo kuchanganyikiwa 🙂)

Kama tunavyoona, programu yetu imekua sana 😀, sasa tuna kazi imprimir_ayuda() ambayo inaonyesha ujumbe wa jinsi ya kutumia mahesabu, na kwenye kizuizi main() sasa tunafanya hakiki na if(Kitu ambacho tutakiona kwenye mafunzo ya programu wakati mwingine, kwa sasa ni muhimu tu kujua kwamba ikiwa hoja zaidi ya 2 zimeingizwa kwa hesabu, kwamba programu inaisha na msaada umeonyeshwa. Wacha tuitekeleze:

Miliki. Christopher Diaz Riveros

Kama unavyoona, sasa inachapisha nambari ambayo imewasilishwa badala ya idadi ya hoja, lakini ambayo sikuwa nimekuambia hapo awali 🙂 kwa wadadisi echo $? inaonyesha nambari ya kutoka kwa programu ya mwisho iliyotekelezwa, ambayo ni 1 kwa sababu imeishia kwa makosa. Sasa wacha tuangalie jinsi hadithi yetu inakwenda:

Miliki. Christopher Diaz Riveros

Sasa tunajua kuwa tumejitolea 1 mbele ya Github, kwamba faili main.c imebadilishwa, wacha tuunde ahadi inayofuata kwa kufanya git add main.c  na kisha git commit🙂

Miliki. Christopher Diaz Riveros

Sasa tumekuwa maalum zaidi, kwani tumetekeleza kazi na kubadilisha nambari ya uthibitishaji. Sasa kwa kuwa imeokolewa tutakagua mabadiliko yetu ya mwisho. Tunaweza kuiona na git show HEAD

Miliki. Christopher Diaz Riveros

Sasa unaweza kuona mistari nyekundu na kijani, tumeongeza maktaba stdlib.h, ilibadilisha nambari nyingi na kuongeza kazi kwenye hadithi yetu.

Sasa tutaona logi:git log)

Miliki. Christopher Diaz Riveros

Tunaweza kuona kuwa tumejitolea mara mbili mbele ya toleo la Github, tutasawazisha alama kidogo - kwa tunayotumia git push origin master

Pamoja na haya tunasema, tuma ahadi zangu kwa url origin kwenye tawi master

Miliki. Christopher Diaz Riveros

Hongera! Sasa mabadiliko yako yako kwenye Github, huniamini? wacha tuikague 😉

Miliki. Christopher Diaz Riveros

Sasa tuna ahadi 3 kwenye Github 🙂

Muhtasari

Tumegusa mambo ya msingi zaidi ya git, sasa wanaweza kuunda mtiririko rahisi wa kazi katika miradi yao, hii sio kitu chochote cha anuwai ya mambo ambayo yanaweza kufanywa na git, lakini hakika ni jambo la vitendo na la kila siku kwa msanidi programu au blogger. Hatujafika mwisho wa kikokotoo, lakini tutaiacha hiyo kwa wakati mwingine 😉 Asante sana kwa kufika hapa na natumai inakusaidia kushiriki katika miradi kadhaa reet Salamu

 


Yaliyomo kwenye kifungu hicho yanazingatia kanuni zetu za maadili ya uhariri. Kuripoti kosa bonyeza hapa.

Maoni 7, acha yako

Acha maoni yako

Anwani yako ya barua si kuchapishwa.

*

*

  1. Kuwajibika kwa data: Miguel Ángel Gatón
  2. Kusudi la data: Kudhibiti SpAM, usimamizi wa maoni.
  3. Uhalali: Idhini yako
  4. Mawasiliano ya data: Takwimu hazitawasilishwa kwa watu wengine isipokuwa kwa wajibu wa kisheria.
  5. Uhifadhi wa data: Hifadhidata iliyohifadhiwa na Mitandao ya Occentus (EU)
  6. Haki: Wakati wowote unaweza kupunguza, kuokoa na kufuta habari yako.

  1.   Pablo alisema

    Halo ... Sijui kama wewe ni, lakini siwezi kuona picha katika ripoti hii ..

    inayohusiana

  2.   Pablo alisema

    Ilikuwa shida na kivinjari changu. Aibu juu ya kero.

  3.   Ulimwengu wa Tecprog alisema

    Bado inabidi niisome kwa undani zaidi, mimi ni newbie.

  4.   Guillermo alisema

    Nakala nzuri kuanza na git, ingawa ninapendekeza kuchukua maelezo ili kuelewa undani.
    Vitu kadhaa havijawa wazi kwangu:
    chaguo ni nini Ongezaingawa nadhani nitaiona wakati nitafanya mazoezi,
    kwa nini git add main.c lazima ifanyike tena kabla ya ahadi ya pili ya git, inaongeza main.c kuwaambia git kulinganisha faili hiyo na toleo la mtandao? Je! Hailinganishi otomatiki faili zote zilizoongezwa kwa ufuatiliaji?

    1.    ChrisADR alisema

      Halo Guillermo 🙂 ni vizuri ukaona ni muhimu kujibu maswali yako:

      .gitignore ni faili inayoelezea git ni fomati au mifumo gani ya kupuuza, katika kesi hii kuchagua C husababisha faili za .o kupuuzwa na zingine ambazo zimetengenezwa wakati wa mkusanyiko, ambayo ni nzuri kwa sababu vinginevyo git yako ingeenda wazimu mara moja ya kila mkusanyiko na ufuatiliaji can unaweza kuangalia idadi kubwa ya fomati ambazo git huacha kwenye templeti yake ya C kwa kufanya paka au na mhariri wa maandishi.

      Ingawa git itafuatilia kila faili iliyoongezwa kwenye mti unaofanya kazi, ni muhimu kuchagua faili ambazo zitaingia kwenye ahadi ijayo, kukupa mfano, wacha tufikirie kuwa kazi yako imekuongoza kurekebisha faili 5 tofauti hapo awali kuwa na uwezo wa kuona matokeo. Ikiwa unataka kuwa maalum zaidi na ueleze ni nini kinafanywa katika kila moja, unaweza kufanya git add file1; git ahadi; git ongeza faili2; git fanya… .3,4,5; kujitolea. Kwa njia hii hadithi yako ni safi na mabadiliko yamefafanuliwa vizuri. Na ikiwa utalazimika kubadilisha kitu, au kurudisha (mada za hali ya juu zaidi) unaweza kurudisha vitu maalum au kuongeza vitu maalum bila kubadilisha zingine.

      Natumai inasaidia 🙂 salamu na shukrani kwa kuuliza

    2.    ChrisADR alisema

      PS: git add haisemi kulinganisha na toleo kwenye mtandao, lakini na ahadi ya awali kwenye safu yako ya kazi, ikiwa imekuwa ya kawaida (kijani kibichi) itailinganisha na hiyo, ikiwa imekuwa kijijini (nyekundu) itakuwa linganisha na hiyo nyingine. Kufafanua tu 😉

      1.    Guillermo alisema

        Kamili, kwa kweli inafafanua.

bool (kweli)