Shkrimi i tregimeve tuaja vetjake

Përshëndetje të gjithëve ... Para se të vazhdoj me tekstet e listës së porosive, unë dua të festoj lirimin e git 2.16 duke falënderuar secilin nga ata që dërguan një copë toke dhe secilin nga përdoruesit, në total kemi pasur si 4000 rreshta midis azhurnimeve dhe korrigjimeve , i cili nuk flet shumë për versionin tim të parë, por flet për mirësinë tuaj ... Faleminderit! Tani, unë do t'ju tregoj një sekret të vogël, deri më tani nuk ka qenë një kohë kur unë nuk u ula për të shkruar një artikull dhe kam menduar shumë për të, zakonisht unë thjesht shkruaj me radhë, dhe pastaj hardhuca e mirë merr mirësinë e korrigjo gabimet e mia në shkrimin ... kështu falë edhe atij.

Kjo nuk është më e mira kur flasim për të shkruar artikuj, me sa duket duhet të ketë një objektiv dhe të ndërtojë një strukturë, dhe të shënojë pika të vogla dhe komente etj etj ... Tani, kjo jo vetëm që vlen për bloget në përgjithësi, por është thelbësore në një program kompjuterik që pretendon të jetë i mirë 🙂 Për këtë detyrë, dhe pas disa problemeve me programin e kontrollit të versionit që u përdor në zhvillimin e kernelit disa vjet më parë, ai lindi git 🙂

Ku të mësojmë git?

Sasia e dokumentacionit rreth git është marramendëse, edhe nëse thjesht do të merrnim faqet e burrave që erdhën me instalimin, do të kishim një sasi të madhe leximi. Unë personalisht gjej libër git mjaft mirë i dizajnuar, madje edhe unë kam përkthyer disa nga segmentet e seksionit 7, akoma më mungojnë disa, por më jepni kohë 😛 mbase në këtë muaj mund të përkthej atë që ka mbetur nga ai seksion.

Çfarë bën git?

Git është krijuar për të qenë i shpejtë, efikas, i thjeshtë dhe për të mbështetur ngarkesa të mëdha informacioni, në fund të fundit, bashkësia e bërthamave e krijoi atë për softuerin e tyre, i cili është një nga veprat më të mëdha të përbashkëta të softuerit të lirë në botë dhe ka qindra e kontributeve në orë në një bazë kodi që tejkalon një milion rreshta.

Gjëja interesante për git është mënyra e tij për të ruajtur versionet e të dhënave. Në ditët e vjetër (programet e tjera të kontrollit të versionit) merrnin kompresat e të gjitha skedarëve ekzistues në një pikë të historisë, si krijimi i backup. Git merr një qasje tjetër, kur kryen një commit është shënuar një pikë në histori, ajo pikë në histori ka një seri modifikimesh dhe punon, në fund të ditës, të gjitha modifikimet bëhen së bashku me kalimin e kohës dhe skedarët merren për të qenë në gjendje të ngjeshin ose shënojnë si piketa të versionet. Meqenëse e di që gjithçka tingëllon e komplikuar, unë do t'ju çoj në një udhëtim magjik në një shembull super themelor.

Projekti i vogël i llogaritjes

Kalkullamatika do të jetë një program që do të gjejë katrorët e një numri të caktuar, ne do ta bëjmë atë në C dhe do të jetë sa më e thjeshtë, kështu që mos prisni shumë kontrolle sigurie nga unë. Së pari ne do të krijojmë një depo, unë do ta bëj me Github për të vrarë dy zogj me një gur:

Vetanake. Christopher Diaz Riveros

Ne kemi shtuar disa gjëra të thjeshta si licenca (shumë e rëndësishme nëse doni të mbroni punën tuaj, në rastin tim, detyrojeni ata të ndajnë rezultatet nëse duan ta përdorin atë si bazë: P)

Tani le të shkojmë në terminalin tonë të dashur, git clone është komanda që është përgjegjëse për shkarkimin e depozitës që ndodhet në url caktuar dhe krijoni një kopje lokale në kompjuterin tonë.

Vetanake. Christopher Diaz Riveros

Tani le të kontrollojmë me git log çfarë ka ndodhur në historinë e projektit tonë:

Këtu kemi shumë informacione me ngjyra të ndryshme 🙂 le të përpiqemi ta shpjegojmë atë:

vija e parë e verdhë është "barkodi i kryerjes" çdo kryerje ka identifikuesin e vet unik, me të cilin mund të bësh shumë gjëra, por ne do ta ruajmë atë për më vonë. Tani kemi HEAD e celeste dhe master jeshile Këto janë "tregues", funksioni i tyre është të tregojnë për vendndodhjen aktuale të historisë sonë (HEAD) dhe dega për të cilën po punojmë në kompjuterin tonë (master).

origin/master është homologu i internetit, origin është emri i paracaktuar që është caktuar për tonë URL, Dhe master është dega në të cilën jeni duke punuar ... për ta mbajtur të thjeshtë, ata që kanë një / janë ato që nuk janë në ekipin tonë, por janë referenca për ato që janë në internet.

Pastaj kemi autorin, datën dhe kohën dhe përmbledhjen e kryerjes. Ky është një përmbledhje e vogël e asaj që ka ndodhur në atë pikë të historisë, shumë e rëndësishme në shumë projekte dhe ka shumë informacion të dënuar. Le të shohim nga afër atë që ka ndodhur në kryerje me komandën git show <código-de-commit>

Vetanake. Christopher Diaz Riveros

Komanda git show na çon në këtë ekran në formatin patch, ku mund të shihni se çfarë është shtuar dhe çfarë është hequr (nëse diçka është hequr) në atë kohë në histori, deri më tani na tregon vetëm se të dhënat .gitignore,README.mdLICENSE.

Tani le të merremi me biznesin, le të shkruajmë një skedar 🙂 ne do të krijojmë momentin e parë në historinë tonë:

Vetanake. Christopher Diaz Riveros

Shkurtimisht, ne do të krijojmë një program që na tregon numrin e argumenteve të kaluara gjatë ekzekutimit të tij, të thjeshtë

Vetanake. Christopher Diaz Riveros

Kjo ishte e lehtë ... tani le të shohim komandën e mëposhtme të dobishme: git status

Vetanake. Christopher Diaz Riveros

Një shpirt me zemër të mirë ka përkthyer git për ta bërë më të lehtë për t'u ndjekur, këtu kemi shumë informacione të dobishme, ne e dimë se jemi në degën master, se jemi azhurnuar me origin/master(dega Github), ne kemi skedarë të pashoqëruar! dhe që për t'i shtuar ato duhet të përdorim git add, le të provojmë

Vetanake. Christopher Diaz Riveros

Tani kemi një hapësirë ​​të re të gjelbër, në të cilën shfaqet skedari që kemi shtuar në zonën e punës. Në këtë vend ne mund të grupojmë ndryshimet tona për të qenë në gjendje të bëjmë një angazhim, angazhimi përbëhet nga një moment historik gjatë gjithë historisë së projektit tonë, ne do të krijojmë angazhimin git commit

Vetanake. Christopher Diaz Riveros

Shpjeguar shkurtimisht, vija e verdhë është titulli i angazhimit tonë, unë shkruaj main.c për një referencë të thjeshtë vizuale. Teksti i zi është shpjegimi i ndryshimeve të bëra që nga zotimi i mëparshëm deri më tani 🙂 ne e ruajmë skedarin dhe do të shohim që zotimi ynë të ruhet në regjistër.

Vetanake. Christopher Diaz Riveros

Tani do të shohim historinë e projektit tonë git log

Vetanake. Christopher Diaz Riveros

Përsëri në regjistër, tani mund të shohim se vijat e gjelbra dhe të kuqe kanë ndryshuar, kjo sepse në kompjuterin tonë, ne jemi një angazhim mbi ato të ruajtura në internet ... ne do të vazhdojmë punën, supozojmë se tani unë dua të tregoj një mesazh në rast se përdoruesi vendos më shumë se një argument në program (gjë që do ta bënte kalkulatorin të hutuar 🙂)

Siç mund ta shohim, programi ynë është rritur shumë 😀, tani ne kemi funksionin imprimir_ayuda() i cili shfaq një mesazh se si të përdorin llogaritjet, dhe në bllok main() tani ne bëjmë një përmbledhje me if(Diçka që do ta shohim në një tutorial programimi në një kohë tjetër, tani është e nevojshme vetëm të dimë se nëse futen më shumë se 2 argumente në llogaritjen e programit, programi mbaron dhe ndihma shfaqet. Le ta ekzekutojmë atë:

Vetanake. Christopher Diaz Riveros

Siç mund ta shihni, tani ai shtyp numrin që është dorëzuar në vend të numrit të argumenteve, por që nuk jua kisha thënë më parë 🙂 për kuriozët echo $? tregon kodin e daljes së programit të fundit të ekzekutuar, i cili është 1 sepse ka përfunduar gabimisht. Tani le të shqyrtojmë se si shkon historia jonë:

Vetanake. Christopher Diaz Riveros

Tani e dimë që jemi 1 angazhim përpara Github, atë skedar main.c është modifikuar, le të krijojmë zotimin tjetër duke bërë git add main.c  dhe pastaj git commit🙂

Vetanake. Christopher Diaz Riveros

Tani ne kemi qenë pak më specifik, pasi kemi zbatuar një funksion dhe kemi ndryshuar kodin e vërtetimit. Tani që është ruajtur, le të rishikojmë ndryshimin tonë të fundit. Ne mund ta shohim atë me git show HEAD

Vetanake. Christopher Diaz Riveros

Tani mund të shihni linjat e kuqe dhe jeshile, ne kemi shtuar bibliotekën stdlib.h, modifikoi shumë nga kodi dhe shtoi funksionin në historinë tonë.

Tani do të shohim regjistrin: (git log)

Vetanake. Christopher Diaz Riveros

Ne mund të shohim se jemi dy angazhime përpara versionit Github, ne do të barazojmë shënuesin pak ... për atë që përdorim git push origin master

Me këtë ne themi, dërgoni zotimet e mia në url origin në degë master

Vetanake. Christopher Diaz Riveros

Urime! Tani ndryshimet tuaja janë në Github, nuk më besoni? le ta rishikojmë atë

Vetanake. Christopher Diaz Riveros

Tani kemi 3 angazhimet në Github

Përmbledhje

Ne kemi prekur aspektet më themelore të git, tani ata mund të krijojnë një rrjedhë të thjeshtë pune në projektet e tyre, kjo është vështirë se diçka nga të gjitha larmitë e gjërave që mund të bëhen me git, por sigurisht që është gjëja më praktike dhe e përditshme për një zhvillues ose bloger. Ne nuk kemi arritur në fund të llogaritësit, por do ta lëmë atë për një herë tjetër 😉 Faleminderit shumë që arritët këtu dhe shpresoj që t'ju ndihmojë të merrni pjesë në disa projekte et Përshëndetje


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   Paul dijo

    Përshëndetje ... Nuk e di nëse jeni, por nuk mund t'i shoh imazhet në këtë raport ...

    të fala

  2.   Paul dijo

    Ishte një problem me shfletuesin tim. Turp për bezdinë.

  3.   Bota Tecprog dijo

    Unë ende kam për të lexuar atë në më shumë detaje, unë jam një newbie.

  4.   Guillermo dijo

    Artikull i shkëlqyeshëm për të filluar me git, megjithëse rekomandoj të marrësh shënime për të kuptuar detajet.
    Disa gjëra nuk kanë qenë të qarta për mua:
    për çfarë është opsioni Shtoni .gitignore Cmegjithëse mendoj se do ta shoh kur ta praktikoj,
    pse git shtoni main.c duhet të bëhet përsëri para se të kryhet git tjetër, a shton main.c i thotë git të krahasojë atë skedar me versionin e rrjetit? A nuk i krahason automatikisht të gjithë skedarët e shtuar për ndjekje?

    1.    ChrisADR dijo

      Përshëndetje Guillermo 🙂 është mirë që e keni parë të dobishme, për t'iu përgjigjur pyetjeve tuaja:

      .gitignore është një skedar që tregon git cilat formate ose modele duhet të injorohen, në këtë rast zgjedhja C bën që skedarët .o të injorohen dhe të tjerët që krijohen në kohën e përpilimit, gjë që është e mirë sepse përndryshe git juaj do të çmendej menjëherë të secilës përpilim dhe ndjekje të mëtejshme number mund të kontrolloni numrin e madh të formateve që lëshojnë në modelin e saj C duke bërë mace ose me një redaktues teksti.

      Megjithëse git do të mbajë gjurmët e secilës skedar të shtuar në pemën e punës, është e nevojshme të zgjidhni specifikisht cilat skedarë do të hyjnë në mandatin tjetër, për t'ju dhënë një shembull, le të supozojmë se puna juaj ju ka shtyrë të modifikoni 5 skedarë të ndryshëm para të jetë në gjendje të shohë rezultatin. Nëse doni të jeni pak më specifik dhe të shpjegoni se çfarë është bërë në secilën prej tyre, mund të bëni git add file1; git kryer; git shtoni skedarin2; git bëni…. 3,4,5; kryej git Në këtë mënyrë historia juaj është e pastër dhe ndryshimet janë të përcaktuara mirë. Dhe në rast se duhet të ndryshoni diçka, ose të ktheni (tema më të përparuara) mund të ktheni gjëra specifike ose të shtoni gjëra specifike pa ndryshuar pjesën tjetër.

      Shpresoj se ndihmon ... përshëndetje dhe faleminderit për pyetjen

    2.    ChrisADR dijo

      PS: git add nuk thotë të krahasohet me versionin në rrjet, por me zotimin e mëparshëm në linjën tuaj të punës, nëse ka qenë lokal (jeshil) do ta krahasojë me atë, nëse ka qenë i largët (i kuq) do të krahaso me atë tjetër. Thjesht për të sqaruar

      1.    Guillermo dijo

        E përsosur, sigurisht që sqaron.