Преглед садржаја
А. филијала у Гит то је грана нашег спремишта, то је начин да се генерише алтернативна путања до главне стазе. То нам омогућава да истражујемо нова решења без потребе да мењамо базу програма или апликације коју покрећемо.Међутим концепт филијала Није баш јасно када почињемо да користимо овај алат који контролише верзије наших пројеката. Обично се у другим системима контроле верзија не узимају у обзир последице пројекта са овим концептом.
Многи ће их већ користити Гит и нису обратили већу пажњу гране, и на неки начин је разумљиво будући да се при руковању синглом филијала а ако развој спроводи једна особа, не би требало бити непријатности.
Али шта ако ова особа жели да тестира неке експерименталне карактеристике које могу узроковати неуспех њиховог пројекта или једноставно утицати на стабилност пројекта, неки ће рећи да виљушка пројекта и наставите са експериментисањем, а ако је побољшање успешно, онда размислите о томе да оно што је урађено у рачвању укључите у главни пројекат. Ово је заиста дуг и непотребан посао.
У горњем случају једноставно креирање новог филијала у оквиру предметног пројекта можемо направити све жељене промене и експерименте и на крају једноставно направити а спојити или фузију са филијала почетно или главно већ смо се придружили свим нашим променама.
Други случајДруги је случај када имамо радни тим у којем двоје људи који раде на истом коду могу генерирати сукобе Гит износи своју моћ. Можемо створити структуру три гране на пример, а грана за сваког програмера и а грана уједињења. На овај начин, сваки програмер може узети своје измене и када осети да може да им допринесе пројекту, шаље их на адресу филијала уједињења, па им друга особа или други чланови тима могу приступити.
Већ разумемо разлоге који нас наводе на употребу гране и упознати смо са концептом, сада ћемо видети део који је од виталног значаја за коришћење ове функције Гит и треба да ставимо име нашем филијала.
Назив филијалеКроз назив је то што ћемо знати где тренутно стојимо, овај назив је потпуно произвољан, односно сваки корисник Гит можете именовати своје гране како желите у оквиру свог пројекта. Обично Гит створити филијала позвао господару Подразумевано, ово је генерално она која садржи стабилну верзију пројекта без грешака, међутим можемо је преименовати или чак избрисати ако нам се прохте, иако је препоручљиво да то не чините.
Пошто можемо да користимо џокере за претрагу, можемо да именујемо и наше гране хијерархијски, на пример, Имп_Буг / 89 или Импл_Буг / 23. То нам омогућава да их лоцирамо и организујемо са темама. Хајде да видимо како ћемо објашњење пренети у наше складиште тестова:
У овом случају имамо а грана мајстор а ми смо створили неколико гране који су за решавање грешака, ако извршимо наредбу гит бранцх у конзоли Гит унутар фасцикле нашег пројекта добићемо листу са свим постојеће филијалеХајде да видимо како то изгледа када га покренемо:
Затим видимо списак свих наших гране и у другој боји видимо грану у којој се налазимо у том правом тренутку. Али шта ако их имамо много гране и морамо да филтрирамо само гране за решавање грешакаПа, ту долази у обзир тражење џокера. На пример, ако желимо да претражујемо на овај начин, морамо да извршимо наредбу сличну следећој:
гит схов-бранцх импл_буг / *
Да видимо како ово изгледа на нашој конзоли:
Тада можемо приметити да су сви гране а са једне стране имамо коментар последњег урадити то је у њима учињено.
Због именовање грана То је нешто потпуно произвољно и према мишљењу корисника, много пута долази до забуне унутар тима, зато можемо слиједити неке препоруке и најбоље праксе, на овај начин ћемо бити бољи корисници унутар алата:
- Иако можемо користити симбол / у називу наших огранака, то не може бити коначни знак имена.
- Не можемо ставити тачку (.) после косе црте (/).
- Не можемо поставити две тачке заредом (… ) унутар имена.
- Не смемо користити посебне знакове (~ : ? * [ ) будући да ови знакови имају значење унутар синтаксе од Гит и могу бити склони грешкама.
- Такође не би требало да имамо празна места или контролне знакове АСЦИИ.
Ако имамо а списак филијала а ми смо у а филијала али желимо да пређемо на другу, само морамо да користимо следећу команду:
гит цхецкоут бранцх-наме
Овим ћемо се променити филијала одмах, тако да ћете моћи без проблема да радите на различитим деловима пројекта. Да видимо како можемо заменити гране у нашем складишту за тестирање:
Као што смо приметили, то је нешто сасвим једноставно, међутим ако направимо промену унутар ове гране, а ми то не учинимо урадити приликом покушаја преласка на другу добићемо грешку и Гит Говори нам да морамо нешто учинити јер ако не, промене се могу изгубити:
Када дође до овог проблема, морамо урадити а урадити а затим пређите на следећи филијала видећемо садржај другог филијала.
Да бисмо креирали нову грану, наставићемо да користимо команду провери, међутим у овом случају морамо додати -б опција, са овим ћемо направити копију тренутне гране и генерисати потпуно нову. Да видимо како то изгледа на нашој конзоли:
Примећујемо како је једном створио нову грану одмах Гит води нас до њега и можемо почети да радимо директно.
Иако то није баш уобичајено, постоје случајеви у којима то желимо избришите грану из нашег спремишта и Гит дозвољава нам то, само што не можемо избрисати грану у којој се тренутно налазимо, како бисмо избегли недоследности са алатом. Да бисте извршили ову операцију, једноставно је применити следећу команду:
гит бранцх -д бранцх -наме
ОграничењаМеђутим, постоје нека ограничења, на пример не можемо избрисати филијала шта није уреду с тим обавезује да он филијала одакле покушавамо да избришемо нема, са њим Гит помаже да се избегне губитак информација, ако желимо да избришемо грану ових карактеристика, морамо то учинити спојити у нашем филијала или идите на ону која их има обавезује.
Хајде да видимо како извршавање ове команде изгледа у конзоли:
На крају извршења видимо како Гит потврђује уклањање одговарајуће гране.
Постоје случајеви када смо додирнули исти ред у датотеци у две различите гране, ово у време обављања спојити то ће нам изазвати сукоб. Гит Помаже нам успостављањем диференцијације сукоба унутар датотеке, па приликом рјешавања морамо направити нову урадити и нови спојити. Диференцијација је приказана на следећи начин у датој датотеци:
било који ред <<<<<< >>>>>> дев: НевЦханге
Ако желимо да решимо сукоб, морамо да избришемо садржај Гит, односно линије са <<<<< И >>>>, па остављамо промену коју желимо или обједињујемо све, чинећи ово већ Гит нам више неће представљати грешку и ми ћемо то моћи учинити спојити обично.
ВажноЈедна од ствари које је важно учинити је генерисање заједничка номенклатура, односно успоставити структуру имена под којом се гране у зависности од њене функције у оквиру пројекта, на тај начин ћемо имати много више реда, наравно да ова номенклатура мора следити најбоље праксе наведене на почетку водича.
Овим завршимо овај водич, моћи ћемо да извучемо много више из нашег спремишта у Гит и са њим на сјајан начин управљати нашим тимом. Морамо већ имати покривену базу за управљање гране у Гит, на овај начин можемо адекватно администрирати наше промјене како бисмо сукобе свели на минимум, посебно када радимо у тимовима од два или више људи.Да ли вам се допао и помогао овај водич?Можете наградити аутора притиском на ово дугме да бисте му дали позитиван поен