Гит

Како Гит Ребасе

Како Гит Ребасе
гит ребасе је услужни програм за спајање као и гит мерге. Али начин њиховог рада је другачији.

У овом чланку ћу говорити о томе како Гит ребасе ради, разликама између Гит ребасе и Гит мерге и како радити са Гит ребасе. Па, кренимо.

Гит Ребасе:

Рецимо, имате Гит спремиште са комитовима А, Б, Ц у господару грана. Затим сте креирали нову грану нека грана и додао 2 нова обавезивања Д и Е до нека грана грана.

Слика 1: почетна историја урезивања.

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

Слика 2: историја урезивања након додавања урезивања Г у главној грани.

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

Шта ако желите урезивање Г бити доступан у нека грана грана? Па, за то можете користити гит ребасе.

Из историје урезивања на слици 2 можете видети да је грана некаква грана почиње од урезивања Ц. Ако направите гит ребасе на нека грана, онда би кренуло од урезивања Г као што је приказано на слици 3 доле. Имајте на уму да је садржај урезивања Д и Е ће се променити и након операције пребазирања. Обавезе Д и Е укључиће промене у урезивању Г. Због тога сам додао * симбол пре урезивања Д и Е.

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

Слика 4: историја урезивања ако је коришћен гит мерге.

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

Ток рада Гит Ребасе:

У овом одељку креираћу ново гит спремиште на свом локалном рачунару и показати вам како функционише гит ребасе. Препоручујем вам да добро разумете гит ребасе пре него што га примените на вашем пројекту.

Прво креирајте ново Гит спремиште ребасе-демо / на рачунару на следећи начин:

$ гит инит ребасе-демо

Сада идите на ребасе-демо / директоријум како следи:

$ цд ребасе-демо /

Сада креирајте нову датотеку тест.ткт као што следи:

$ ецхо "А"> тест.ткт

Тест.ткт датотека садржи само један ред А. Рецимо, ово је ваш почетни код пројекта.

Сада извршите промене на следећи начин:

$ гит додај .
$ гит цоммит -м 'А'

Сада додајте још један ред Б до тест.ткт датотеку као што је приказано на снимку екрана испод.

Сада извршите промене на следећи начин:

$ гит додај .
$ гит цоммит -м 'Б'

Сада, додајте још једну линију Ц у тест.ткт датотека.

Такође, извршите промене на следећи начин:

$ гит додај .
$ гит цоммит -м 'Ц'

Сада би историја урезивања главне гране требало да изгледа овако:

$ гит лог --онелине

Сад, рецимо, имате неке нове идеје које желите да испробате. Дакле, хајде да креирамо и пређемо на нову грану Нова карактеристика као што следи:

$ гит цхецкоут -б нова функција

Сада додајте своју нову идеју (линија Д рецимо) до тест.ткт датотека.

Сада извршите промене на следећи начин:

$ гит додај .
$ гит цоммит -м 'Д'

Сада додајте линију Е у тест.ткт датотека.

Извршите промене на следећи начин:

$ гит додај .
$ гит цоммит -м 'Е'

Сада, историја урезивања Нова карактеристика грана треба да изгледа овако:

$ гит лог --онелине

Погледајте како су урези у редоследу А < B < C < D < E?

Сад се сећате да сте заборавили да додате нешто у господару подружница у којој сте такође желели да будете у Нова карактеристика грана! Дакле, плаћање код господару грана.

Додао сам нови ред на крају тест.ткт датотеку као што видите.

Сада извршите промене на следећи начин:

$ гит додај .
$ гит цоммит -м 'Г'

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

А < B < C < G

Сада, да поново направимо базу података са господару огранак до Нова карактеристика филијала, прва наплата до Нова карактеристика грана.

$ гит цхецкоут нова функција

Сада направите гит ребасе базе података господару грана како следи:

$ гит ребасе мастер

Неки спајају сукоб! Поправимо то.

Па, промене које сам унео у обавезу Г и Д су међусобно у сукобу. Желим да задржим оба.

Након што је решио сукоб спајања, тест.ткт датотека треба да изгледа овако:

Сада додајте промене у сценско подручје на следећи начин:

$ гит додај .

Сада наставите са базом података на следећи начин:

$ гит ребасе --наставите

Још један сукоб спајања! Па, ово се може догодити. Ребасе мења историју урезивања гит. Дакле, овакве ствари се очекују.

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

Након што је решио сукоб спајања, тест.ткт датотека треба да изгледа на следећи начин.

Сада додајте промене у сценско подручје на следећи начин:

$ гит додај .

Сада наставите операцију пребазирања на следећи начин:

$ гит ребасе --наставите

Гит ребасе је завршен.

Као што видите, историја урезивања гране нове функције се ажурира. Сада је историја урезивања следећа:

А < B < C < G < D < E

Баш као што се и очекивало.

Финале тест.ткт датотека треба да изгледа на следећи начин.

Гит ребасе је моћан алат. Али, никада не би требало да га користите на дељеним Гит спремиштима. Користите га само на Гит репозиторијумима на којима радите. У супротном, на путу ћете се суочити са многим проблемима.

Дакле, тако користите гит ребасе. Хвала што сте прочитали овај чланак.

Портови комерцијалних игара отвореног кода
Бесплатне рекреације покретачких игара са отвореним кодом и више платформи могу се користити за играње старих, као и неких прилично недавних наслова и...
Најбоље игре командне линије за Линук
Командна линија није само ваш највећи савезник када користите Линук - она ​​такође може бити извор забаве јер је можете користити за играње многих заб...
Најбоље апликације за мапирање гамепада за Линук
Ако волите да играте игре на Линуку са гамепадом уместо са типичним системом за унос тастатуре и миша, за вас постоје неке корисне апликације. Многе и...