СПОДЕЛИ

Како што компјутерите стануваат помоќни и вебот станува поприсутен во нашите животи, така и улогата на веб развивачот станува покомплексна. Постојат голем број на различни алатки кои им помагаат на програмерите да работат поефикасно, а системот за контрола на верзии (VCS) несомнено е најважната меѓу нив.

VCS ги следи и управува со измените на документите, датотеките и другите збирки на информации. Популарни системи за контрола на верзии се SVN, Mercurial, и најпопуларниот во моментов, Git. Овие алатки ни помагаат да ги спречиме проблемите со кои сигурно сите ние сме се соочиле во даден момент од нашата кариера во веб развојот.

Направив измена која не сакав да ја направам…

Независно дали тоа е измена во една датотека, или многу измени во основата на вашиот код, ова е нешто што на сите ни се случува. Едноставно сфаќате дека сте измениле, или избришале нешто што не требало. Како и што кажува името, основниот концепт на системот за контрола на верзии е креирање на верзии од вашиот со текот на времето. Она што се имплицира од оваа функционалност е можноста да се вратите на некоја стара верзија од вашиот код, и да ги отповикате измените кои сте ги направиле.

Направив измени, но не се сеќавам какви…

Кога работите со голема датотека или обемен код, лесно може да се случи да се изгубите во сопствената работа. Кога вашиот код работи со контрола на верзии многу брзо можете да ги видите измените кои сте ги направиле од последниот пат кога сте го потврдиле кодот. (“потврдување” на кодот е кога ги зачувувате измените на кои сте работеле). Кога употребувате Git, на вашиот проект може да ја пуштите командата git diff, и таа ќе ви ги покаже датотеките кои биле додадени, изменети или избришани. Исто така командата можете да ја пуштите на различни верзии од дадена датотека, и таа ќе ви ги покаже разликите. Оваа опција е многу корисна, па дури и постојат додатоци кои го интегрираат ова однесување директно во повеќето уредувачи на код.

Компјутерот ми се изблокира и сега немам пристап до мојот код…

Повеќето VCS може да работат на сервер, па така вашите измени се следат и забележуваат на далечина. Ова е од корист бидејќи креира копија од вашата работа, а копијата не зависи од компјутерот кој го употребувате. Потребни ви се само неколку команди од терминалот. Може да повикате git remote add за да додадете сервер на кој може да правите backup и git push за да го префрлите кодот таму. Во случај вашиот компјутер да се блокира или расипе, може да повикате git fetch за да го земете кодот од серверот и да продолжите да работите.

Не можеме да работиме на истата датотека, нели?

Кога работите со други развивачи, соработувањето на задачи може да биде тешко. Ако повеќе развивачи работат на една иста датотека, многу лесно може да се случи, несакајќи, едниот да ги презапише измените на другиот. Викањето “Јас работам на таа и таа датотека сега!” на колегата не е најдобар начин на заштита. Наместо тоа, може да поставите систем за контрола на верзии каде развивачите ќе употребат команда git fetch и ќе работат на копија од датотеката на својата машина независно од другите развивачи. Откако сите ќе завршат со работата, сите нивни верзии ќе се спојат  во една заедничка датотека во која ќе се инкорпорираат измените на секој од развивачите.

Не сум сигурен што завршив денес…

Системите за контрола на верзии ви дозволуваат да имате преглед на она што сте го постигнале во даден временски период. Ако редовно го потврдувате кодот (т.е, ги зачувувате измените), секој пат кога ќе средите некој баг на пр. лесно ќе ги видите логовите (записите) за вашите потврдувања и ќе добиете листа со задачите кои сте ги завршиле. Историјата ви дозволува да ги следите измените на одредени редови од кодот, па ќе можете да сфатите зошто е направена измената, или како првично изгледал багот.

Развивачите имаат креирано алатки кои ја прошируваат функционалноста на Git за да обезбедат следење на време и работење со верзии. Ова го прикажува времето помеѓу потврдувањата, притоа креирајќи реален приказ на времето кое било потребно за да се реши проблемот.

Сакам да пробам нешто, но се плашам да не уништам нешто друго…

Системот за контрола на верзии дозволува понапредни работни текови и го олеснува работењето на голема основа со код. Моќниот концепт познат под името “разгранување” е нешто што се употребува во индустријата за развој. Разгранувањето е одличен начин на изолирање на измените во кодот и коригирање на проблематичниот код.

Па, што е тоа разгранување? Како и што покажува името, разгранувањето ви дозволува да креирате “главна гранка” (со сиво, подолу), која обично се сложува со кодот во продукција. Различните верзии од кодот се нарекуваат гранки (со жолто), и излегуваат од главната гранка за секоја измена во функционалноста која сакате да ја имплементирате.

Овој концепт е неверојатно моќен и ви дозволува да експериментирате со вашиот код без да ја менувате “главната гранка”. Главната гранка продолжува да се развива независно од останатите гранки на кои работите. Кога ќе завршите со измените, можете да ги споите гранките со “главната гранка”, што значи дека ќе ги нанесете сите измени кои се направени на гранката, но и сите оние кои се појавуваат во “главната гранка”.

Гранките обично се креираат за секоја промена во функционалноста, на пример, креирање на нова опција или решавање на баг. Изолирањето на измените ви дозволува да експериментирате со вашиот код без да се плашите дека ќе расипете нешто во кодот кој веќе добро ви работи. Ако работите не одат онака како што очекувате, едноставно ќе ја избришете само гранката и ниту една од вашите измени нема да влијае на “главната гранка”.

Независно дали работите на комлексна основа на код или едноставна скрипта, од полза ќе ви биде да научите како да работите на некој од системите за контрола на верзии. Тие се моќни алатки кои ви помагаат да ги завршите работите поефикасно, полесно да го отповикате она што сте го направиле и да експериментирате во работата, со други зборови, ви го обезбедуваат сето она што може да ви го олесни животот како веб развивач.


GitHub?

GitHubСакате да го совладате GitHub но не знаете од каде да почнете? Без оглед на тоа каде живеете, веб академијата Еверест има подготвено курс за GitHub кој можете да го следите од вашиот компјутер, во време кое вам најмногу ви одговара. Запишете се уште денес на курсот GitHub: основи и стекнете уште една многу важна вештина.

Ти се допадна овој напис?
Се согласувам моите податоци да бидат префлени на MailChimp ( повеќе информации )
Стани член на клубот на веб професионалци Еверест и прв добивај информации кои можат да ти помогнат за твојот натамошен професионален развој.
И ние како и ти ги мразиме спамерите. Твојата email адреса никогаш нема да биде (про)дадена некому. Чесен збор.