Писање сопствених прича са гит-ом

Поздрав свима 🙂 Пре него што наставим са текстовима листе поруџбина, желим да прославим издање гит 2.16 захваљујући се свима који су послали закрпу и сваком од корисника, укупно смо имали око 4000 редова између исправки и исправки, што не говори добро о мојој првој верзији, али говори о вашој љубазности 🙂 Хвала! Сад ћу вам открити малу тајну, до сада није било времена када нисам седео да напишем чланак и пуно размишљао о њему, обично само пишем у низу, а онда добри гуштер узима љубазност исправљања мојих грешака у куцању 🙂 па захваљујући и њему.

Ово није најбоље када говоримо о писању чланака, наводно би требало да има циљ и да изгради структуру, и да означава мале тачке, критике и сл, итд ... Сад, ово се не односи само на блогове уопште, већ је и битно у софтвер који се претвара да је добар 🙂 За овај задатак и након неких проблема са софтвером за контролу верзија који је коришћен у развоју језгра пре неколико година, рођен је git ????

Где научити git?

Количина документације око гита је запањујућа, чак и ако бисмо узели ман странице које су дошле са инсталацијом, имали бисмо огромну количину читања. Ја лично проналазим гит боок прилично добро дизајниран, чак сам и превео неке сегменте одељка 7, још увек их имам неколико, али дајте ми времена 😛 можда у овом месецу могу да преведем оно што је остало од тог одељка.

Шта ради гит?

Гит је дизајниран да буде брз, ефикасан, једноставан и да подржава велике количине информација, на крају крајева, заједница кернела га је креирала за свој софтвер, што је једно од највећих заједничких дела бесплатног софтвера на свету и има стотине прилога по сат у бази кода која премашује милион редова.

Занимљивост гита је начин одржавања верзија података. У стара времена (други програми за контролу верзија) узимали су облоге свих постојећих датотека у одређеном тренутку историје, попут прављења а резерва. Гит има другачији приступ када изводи а commit тачка у историји је означена, та тачка у историји има низ модификација и радова, на крају дана, све модификације се временом састављају и добијају се датотеке да би могле да се компресују или означе као прекретнице верзија . Пошто знам да све ово звучи компликовано, водићу вас на магично путовање у супер основном примеру.

Мали прорачунски пројекат

Калкулација ће бити програм који ће пронаћи квадрате датог броја, урадићемо то у Ц и биће што једноставније, тако да не очекујте пуно безбедносних провера од мене. Прво ћемо створити спремиште, урадићу то са Гитхубом да убијем две птице једним каменом:

Сопствени. Цхристопхер Диаз Риверос

Додали смо неколико једноставних ствари попут лиценце (веома важно ако желите да заштитите свој рад, у мом случају, приморајте их да деле резултате ако то желе да користе као основу: П)

Идемо сада на наш драги терминал, git clone је наредба која је одговорна за преузимање спремишта које се налази у url доделити и створити локалну копију на нашем рачунару.

Сопствени. Цхристопхер Диаз Риверос

Сада да проверимо са git log шта се догодило у историји нашег пројекта:

Овде имамо пуно информација у различитим бојама 🙂 покушајмо да их објаснимо:

прва жута линија је „цртични код за урезивање“, сваки урез има свој јединствени идентификатор, помоћу којег можете учинити много ствари, али сачуваћемо га за касније. Сад јесмо HEAD од целесте и master зелена. То су „показивачи“ чија је функција да укажу на тренутно место наше историје (HEAD) и грана на којој радимо на рачунару (master).

origin/master је пандан Интернету, origin је подразумевано име које је додељено нашем URL, И master је грана у којој радите ... да буде једноставније, они који имају / су они који нису у нашем тиму, али су референце на оно што је на Интернету.

Затим имамо аутора, датум и време и резиме урезивања. Ово је мали преглед онога што се догодило у том тренутку историје, веома важно у многим пројектима и постоји много осуђених информација. Погледајмо ближе шта се догодило у урези са командом git show <código-de-commit>

Сопствени. Цхристопхер Диаз Риверос

Команда гит схов нас води до овог екрана у формату закрпе, где можете видети шта је додато и шта је уклоњено (ако је нешто уклоњено) у то време у историји, до сада нам показује само да записи .gitignore,README.mdLICENSE.

Сада се бацимо на посао, напишимо датотеку 🙂 створићемо прву прекретницу у нашој историји 😀:

Сопствени. Цхристопхер Диаз Риверос

Укратко, креираћемо програм који ће нам показати број аргумената прослеђених приликом његовог извршавања, једноставно 🙂

Сопствени. Цхристопхер Диаз Риверос

То је било лако лет'с сада да видимо следећу корисну команду: git status

Сопствени. Цхристопхер Диаз Риверос

Нека врста душе срца је превела гит да би га било лако следити, овде имамо пуно корисних информација, знамо да смо у главној грани и да смо ажурирани са origin/master(грана Гитхуб), имамо датотеке без праћења! и да бисмо их додали морамо користити git add, хајде да покушамо 🙂

Сопствени. Цхристопхер Диаз Риверос

Сада имамо нову зелену површину у којој се приказује датотека коју смо додали у радно подручје. На овом месту можемо груписати наше промене како бисмо извршили урезивање, урезивање се састоји од прекретнице кроз историју нашег пројекта, креираћемо урезивање 🙂 git commit

Сопствени. Цхристопхер Диаз Риверос

Укратко објашњено, жута линија је наслов нашег урезивања, пишем маин.ц за пуку визуелну референцу. Црни текст је објашњење промена направљених од претходног урезивања до сада 🙂 чувамо датотеку и видећемо да је наша уреза сачувана у регистру.

Сопствени. Цхристопхер Диаз Риверос

Сада ћемо видети историју нашег пројекта са git log

Сопствени. Цхристопхер Диаз Риверос

Поново у дневнику, сада можемо видети да су се зелене и црвене линије разликовале, то је зато што смо на нашем рачунару урезивање изнад оних ускладиштених на Интернету 🙂 наставићемо посао, претпоставимо да сада желим да прикажи поруку у случају да корисник стави више од једног аргумента у програм (што би калкулатор збунило 🙂)

Као што видимо, наш програм је много порастао 😀, сада имамо функцију imprimir_ayuda() који приказује поруку о начину коришћења прорачуна и у блоку main() сада радимо преглед са if(Нешто што ћемо видети у водичу за програмирање у неко друго време, за сада је потребно само знати да ако се у калкуламатицу унесе више од 2 аргумента, да се програм завршава и приказује помоћ. Извршимо то:

Сопствени. Цхристопхер Диаз Риверос

Као што сада видите, штампа се испоручени број уместо броја аргумената, али који вам раније нисам рекао 🙂 за знатижељнике echo $? приказује излазни код последњег извршеног програма, који је 1 јер се грешком завршио. Сада да размотримо како иде наша прича:

Сопствени. Цхристопхер Диаз Риверос

Сада знамо да смо 1 предали испред Гитхуб-а, односно датотеке main.c је измењен, хајде да креирамо следећи урезивањем git add main.c  и онда git commit????

Сопствени. Цхристопхер Диаз Риверос

Сада смо били мало прецизнији, откако смо имплементирали функцију и променили код за валидацију. Сада када је сачувано, прегледаћемо нашу последњу промену. Можемо то видети са git show HEAD

Сопствени. Цхристопхер Диаз Риверос

Сада можете видети црвене и зелене линије, додали смо библиотеку stdlib.h, изменио већи део кода и додао функцију у нашу причу.

Сада ћемо видети дневник: (git log)

Сопствени. Цхристопхер Диаз Риверос

Можемо видети да смо за две обавезе испред верзије Гитхуб, мало ћемо изједначити маркер 🙂 за то што користимо git push origin master

Овим кажемо, пошаљите моје обавезе на урл origin на грани master

Сопствени. Цхристопхер Диаз Риверос

Честитам! Сада су ваше промене на Гитхубу, зар ми не верујете? хајде да га прегледамо 😉

Сопствени. Цхристопхер Диаз Риверос

Сада имамо 3 урезивања на Гитхуб-у 🙂

Резиме

Дотакли смо се најосновнијих аспеката git, сада могу да створе једноставан ток рада у својим пројектима, ово једва да је нешто од свих различитих ствари које се могу урадити са гит-ом, али је свакако најпрактичнија и свакодневна ствар за програмера или блогера. Нисмо дошли до краја калкулатора, али оставићемо то за други пут 😉 Хвала вам што сте дошли овде и надам се да ће вам помоћи да учествујете у неколико пројеката пројецтс поздрав


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.

  1.   Пабло дијо

    Добро ... Не знам да ли ви, али не видим слике у овом извештају ...

    поздрави

  2.   Пабло дијо

    То је био проблем са мојим прегледачем. Срамота за досаду.

  3.   Тецпрог Ворлд дијо

    Морам то детаљније да прочитам, ја сам новајлија.

  4.   Гиљермо дијо

    Одличан чланак за почетак са гит-ом, иако препоручујем прављење белешки како бих разумео детаље.
    Неколико ствари ми није било јасно:
    за шта је опција Додајте .гитигноре Ц.иако претпостављам да ћу то видети када увежбам,
    зашто гит адд маин.ц мора поново да се уради пре следећег гит урезивања, да ли адд маин.ц говори гиту да упореди ту датотеку са мрежном верзијом? Зар аутоматски не упоређује све додате датотеке за праћење?

    1.    ЦхрисАДР дијо

      Здраво Гуиллермо 🙂 добро је што сте сматрали да је корисно да одговорите на своја питања:

      .гитигноре је датотека која говори гит-у које формате или обрасце треба занемарити, у овом случају одабиром Ц узрокује занемаривање .о датотека и осталих које се генеришу у време компилације, што је добро јер би у супротном ваш гит полудео у тренутку свака компилација и наставак 🙂 можете проверити велики број формата које гит изоставља у свом Ц предлошку радећи мачку или помоћу уређивача текста.

      Иако ће гит пратити сваку датотеку додану у радно стабло, потребно је посебно одабрати које ће датотеке ући у следећу урезивање, да бисмо вам дали пример, претпоставимо да вас је ваш рад навео да измените 5 различитих датотека пре него што будете могли да бисте видели резултат. Ако желите да будете мало прецизнији и објасните шта се ради у сваком од њих, можете да урадите гит адд филе1; гит цоммит; гит адд филе2; гит цоммит… .3,4,5; гит цоммит. На овај начин ваша прича је чиста и промене су добро дефинисане. А у случају да морате нешто да промените или вратите (напредније теме), можете да вратите одређене ствари или додате одређене ствари без да мењате остало.

      Надам се да помаже 🙂 поздрав и хвала на питању

    2.    ЦхрисАДР дијо

      ПС: гит адд не каже да се упоређује са верзијом на мрежи, али са претходним урезивањем у вашем послу, ако је био локални (зелени), упоредиће га са оним, ако је био удаљени (црвени) ) упоредиће се са тим другим. Само да појасним 😉

      1.    Гиљермо дијо

        Савршено, наравно разјашњава.