Реклама

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

Данас ћу говорити о софтверу за контролу верзија отвореног кода који се зове Гит. То омогућава више особа да сигурно раде на истом пројекту, а да се међусобно не мешају, али то је и много више од тога.

Зашто користити Софтваре Цонтрол Софтваре?

Прво и најважније, име би га требало одавати. Софтвер за контролу верзија омогућава вам да имате „верзије“ пројекта, које приказују промене које су током времена унесене у код, и омогућава вам да по потреби повучете уназад и поништите те промене. Сама ова способност - да можете да упоредите две верзије или обрнуте промене чини је непроцењивом приликом рада на већим пројектима.

То сте вероватно у неком тренутку чак и урадили, спремајући копије пројекта на различитим тачкама, тако да имате резервну копију. У систему контроле верзија само би промене биле сачуване - датотека закрпа која се може применити на једну верзију како би била иста као и наредна верзија. За једног програмера то је довољно.

Али шта ако имате више програмера који раде на пројекту? Тада долази до идеје о централизованом серверу за контролу верзија. Ово су стандард већ дуже време, при чему се све верзије чувају на централном серверу, а поједини програмери одјављују и преносе промене на овај сервер. Ако сте икада погледали историју измена на Википедији, имаћете добру представу о томе како то функционише у стварном сценарију:

софтвер за контролу верзија

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

То нас води до Гита и других тзв дистрибуирани системи за контролу верзија. У тим системима клијенти не проверавају само тренутну верзију датотека и раде на њима - они огледају целокупну историју верзија. Сваки програмер увек има комплетну копију свега. Централни сервер се и даље користи, али ако се најгоре догоди, тада се све може вратити са било којег клијента који има најновије верзије.

Гит посебно делује правећи "снимке" датотека; ако датотеке остану непромењене у одређеној верзији, она се једноставно повезује на претходне датотеке - то одржава све брзо и мршаво.

Такође би могло да вас занима када сазнате да се Гит користи за управљање и развој Линук Линук кернел - основни грађевни блок на којем су уграђени сви Линук уређаји.

контрола верзије

Шта је Гитхуб?

Иако можете покренути властити Гит сервер локално, Гитхуб је и удаљени сервер, заједница програмера и графички веб интерфејс за управљање вашим Гит пројектом. Слободно је користити за до 5 јавних складишта - то јест када било ко може погледати или форкционирати ваш код - уз планове ниских трошкова за приватне пројекте. Топло вам предлажем да се пријавите за бесплатан рачун како бисте могли да се играте около са сопственим пројектима или форкирате некога другога.

контрола верзије

Форкинг & Бранцхинг

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

Вероватно сте чули дело „форк“ када се бавите Линук окружењима. Ако сте упознати са апликацијом за медијски центар Плек, знаћете да је то првобитно вилица сличног отвореног кода Ксбок Медиа Центер Аеон Нок 3.5: Лепа и прилагодљива тема за КСБМЦПодесите свој медијски центар управо онако како желите. Аеон Нок 3.5 је најновија верзија онога што је можда најбоља тема за КСБМЦ, а ретка је комбинација: прелепа ... Опширније . То једноставно значи да су у неко доба прошлости неки програмери узели код КСБМЦ-а и одлучили да иду својим путем; то је постао Плек.

То је, наравно, потпуно дозвољено када је пројекат отвореног кода - можете узети код и радити с њим све што желите. Ако Гит сматрате да су ваше промене довољно добре да их можете пребацити у „мастер“ пројекат, ви може да поднесе „захтев за повлачење“ аутору, тражећи од вас да ваше измене врате у оригинал пројекат. То вам омогућава да у било којем тренутку имате стотине хиљада програмера који раде на пројекту, од којих нико не мора неопходно је да буду одобрени за приступ коду - они само копирају код, уносе измене и захтевају да се врате у мајсторе. Наравно, зависи од власника оригиналног пројекта, ако одлуче да ли прихвати ваше промене или не.

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

Ево одличног дијаграма примера процеса рада Винцент Дриессен:

софтвер за контролу верзија

Следећи пут ћемо погледати како поставити радни Гит пример и извршити промене кода унутар грана. Контрола верзија је велика тема. Овде сам дао само најкраћи преглед, али као програмер који је навикао да само уноси измене и поништава их ако не раде, цео концепт ми је разбуктао ум - надам се да ће бити и ваш.

Да ли сте искусни програмер са искуством у Гиту? Да ли тек почињеш и мислиш да би волео да кренеш? Звучите у коментарима!

Јамес има диплому о вештачкој интелигенцији и сертификат је ЦомпТИА А + и Нетворк +. Он је водећи програмер МакеУсеОф-а и своје слободно време проводи играјући ВР паинтбалл и таблегамес. Градио је рачунаре још од детета.