Гит Рефлог - Како опоравити избрисану грану која није спојена



Овај чланак о Гит Рефлогу је свеобухватан водич за враћање избрисаних разгранатих у Гит уз помоћ Гит Рефлог-а.

„Да ли сте икада изгубили грану, чији изворни код још увек није обједињен у„ издању “или„ главној “грани? Шта ако желите да регенеришете избрисану грану иако је њен рад већ спојен у главну грану? “ . Па, једино решење за такве сценарије је Идите Рефлог .

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





    1. Шта је Гит Рефлог?
    2. Како и када се гранчица брише?
    3. Обновите избрисану грану
    4. Који се рад обнавља када се обнови избрисана грана?
    5. Гит Рефлог под-наредбе

Па, кренимо са овим чланком.



Размотрите сценарио, а маинтаинер мора да споји многе гране карактеристика од различитих сарадника, а затим их на крају избрише, али се грана случајно брише пре него што се дело може спојити?

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

Шта је Гит Рефлог?

ТхеКоманда ‘рефлог’ чува а трацк оф свака појединачна промена у референцама (огранци или ознаке) спремишта и чува историју евиденције огранака и ознака које су или креиране локално или одјављене. Референтне дневнике као што је снимак урезивања када је грана креирана или клонирана, одјављена, преименована или било какве обавезе направљене на грани одржава и наведени командом ‘рефлог’.



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

Ова наредба се мора извршити у спремишту које је имало изгубљену грану. Ако узмете у обзирудаљеном репозиторијуму, тада морате извршити наредбу рефлог на рачунару програмера који је имао грану.

наредба: иди пререгиструј

Сад кад знате, шта је Гит Рефлог, дозволите нампокушајте да избришете и спојену и не-спојену грану и видите како Гит то ради?

Корак 1: Наведите гране које су спојене у мастер

Прво погледајте „ господару ’Грана ако сте у некој другој грани помоћу наредбе:

$ гит цхецкоут мастер

Оутпут

Гит Цхецкоут Мастер - Гит Рефлог - Едурека

Сада, да бисте добили листу обједињених грана, спомените следећу наредбу:

$ гит грана - спојена

Излаз:

Корак 1.1: Затим избришите спојену грану:

$ гит бранцх -д издање # 902

Излаз:

Подружница „иссуе # 902“ је успешно избрисана јер је већ спојена у „мастер“ грану.

Корак 2: Хајде сада да наведемо гране које нису спојене у мастер.

$ гит грана - није спојено

Оутпут

Корак 2.2: Коначно, избришимо не-спојену грану следећом наредбом:

$ гит грана -д препод

Ако покушате да избришете једну од грана са недовршеним послом, реците „препродано“, гит приказује поруку упозорења.

Оутпут

како се врши додавање у јави

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

Како и када се гранчица брише?

Као што знамо да је Гит Дистрибуирани систем контроле верзија (ДВЦС), свака машина са клоном или копијом спремишта делује као обоје чвор и а чвориште . Овоподразумева да ће свака машина имати своју копију целокупног кода спремишта и историје.Непотребно је рећи да ћете бити дељење ваш рад са другима и издаваштво исти.

Дакле, у таквим сценаријима могу постојати 3 случаја када се грана брише у стварном сценарију, а многи сарадници раде на великом пројекту. Следећи случајеви могу бити:

Случај 1 - програмер може да споји или избрише грану

Размотрите сценарио у коме програмер локално обједињује грану функције у главну грану, а затим брише грану функције користећи „ гит грана 'Команда са „- д ”Застава као што се видело на ранијим снимцима екрана.

Команда: ‘Гит грана -д име_границе’

Такође би се могло догодити да програмер одлучи да смети промене на грани и одлучи да избрише грану без спајања са било којом другом граном користећи следећу команду:

Команда: ‘Гит грана -Д име_границе’

Помоћу горње команде програмер јенасилно избришите грану која замењује гит упозорење

$ гит бранцх -Д препрод

Оутпут

Белешка : „Предпрод.“ Грана више неће бити наведена када покренете наредбу „гит грана“. Сојанаш рад сачуван на овој грани ће бити изгубљен.

Случај 2 - програмер брише грану у дељеном спремишту

Размотрите сценарио у којем програмер са приступом за читање / писање покушава на силу избрисати удаљену гранукористећи команду „гит пусх“ са заставицом „–делете“.

$ гит пусх оригин --делете куицкфик

Оутпут

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

Ако одржаватељ не може опоравити грану, тада се власник гране који ју је избрисао мора опоравити из својих локалних поправака.

Случај 3 - скрипта са супер привилегијама брише грану

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

Сада, када знате шта се дешава, када избришете грану, пређите на овај чланак о Гит Рефлогу и погледајте како да вратимо изгубљену грану.

како поставити пут до класе у јави у Виндовс 10

Обновите избрисану грану помоћу Гит Рефлог-а

Корак 1 : Историјски дневници свих референци

Набавите листу свих евидентираних евиденција локалне историје за све референце („мастер“, „уат“ и „препод“) у овом спремишту.

иди пререгиструј

Корак 2 : Идентификујте печат историје

Као што се можете позивати из горњег снимка, Истакнути ИД урезивања: е2225бб заједно са индексом показивача ХЕАД: 4 је онај кога препродаја ’Грана је креирана од тренутног показивача ХЕАД који указује на ваше најновије дело.

3. корак : Опоравити се

Да бисте се опоравили ‘Препродаја ‘Грана користи наредбу„Гит цхецкоут“ прослеђујући референцу ХЕАД показивача са ид-ом индекса - 4.Ово је референца на показивач када је креирана грана „препрод“ са дугим ИД-ом урезивања истакнутим на излазном снимку екрана.

гит цхецкоут -б претпрод. ХЕАД @ {4}

Оутпут

И воила! ‘ препродаја ‘Грана се враћа са свим изворним кодом.

БЕЛЕШКА : Пусти мене бпоново преузмите команду „гит цхецкоут“ која је горе коришћена и помозите вам да боље разумете:

Команда „гит цхецкоут“ је преоптерећена команда (баш као и свака Јава преоптерећена функција). Ово је део у којем се обнавља стварна грана.

Ова појединачна команда прво проверава ранију временску ознаку историје на коју је указао Показивач ХЕАД @ {4} а затим креира грану са именом „препрод“ користећи опцију „-б“, као и пребацује ваш радни директоријум на новостворену грану.

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

Сада, када знате како да вратите грану, дозволите ми да вам кажем шта се обнавља када се обнови избрисана грана.

Који се рад обнавља када се обнови избрисана грана?

Датотеке које су скривене и сачуване на листи индексних залиха биће враћене назад. Све датотеке које нису праћене биће изгубљене. Такође самТо је добра идеја да увек поставите и предате свој посао или да их ставите у скривање.

Да бисте преузели референце дневника одређене гране или ознаке, покрените наредбу - „гит рефлог“.

Пример: Да бисте проверили референце дневника само гране ‘уат’, користите наредбу - „гит рефлог уат“.

Гит Рефлог под-наредбе

иди пререгиструј

Команда за отварање странице са упутствима

$ гит рефлог --хелп

Оутпут

иди пререгиструј Прикажи

Приказује евиденције референце дате у командној линији.

гит рефлог схов мастер @ {0}

иди пререгиструј истећи

Ова наредба се користи за обрезивање старијих уноса поновног полагања.

гит рефлог истиче

иди пререгиструј избрисати

Ова наредба брише појединачне уносе из историје поновног дневника.

гит рефлог делете

иди пререгиструј постоји

Ова наредба проверава да ли реф (грана или ознака) има уносе историје дневника рефлог-а.

гит рефлог постоји

Поред горе поменутих наредби, наредба „Гит Рефлог“ узима разне поднаредбе и различите опције у зависности од горе наведених поднаредби. За даље читање трчите „ гит рефлог –помагање ”Из прозора терминала.

Овим смо завршили овај чланак о Гит Рефлог-у.Намера ДевОпс-а је да створи квалитетнији софтвер брже и са више поузданости, истовремено позивајући на већу комуникацију и сарадњу између тимова. Ако вас овај чланак заинтригира, ц извините Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света. Едурека ДевОпс сертификациони курс помаже ученицима да разумеју шта је ДевОпс и стекну стручност у различитим ДевОпс процесима и алатима као што су Пуппет, Јенкинс, Нагиос, Ансибле, Цхеф, Салтстацк и ГИТ за аутоматизацију више корака у СДЛЦ-у.

Имате питање за нас? Молимо вас да га спомињете у одељку за коментаре чланка „Гит Рефлог“ и јавићемо вам се што пре.