Разлика између Гит РеБасе и Мерге

У овом чланку ћемо говорити о два таква алата Ребасе и Мерге и њиховој разлици. ГИТ је један од најчешће коришћених контролора дистрибуиране верзије ДВЦС међу програмерима због своје динамичне природе и огромне доступности алата за руковање верзијама. Постоје два начина на које можемо да изменимо своје измене из једне подружнице у другу. Један је користећи Ребасе, а други је Мерге који је прилично популаран. У наставку сазнајемо врх Упоређивање између Гит РеБасе-а и Мерге-а.

Упоређивање између Гит РеБасе-а и Мерге-а (Инфограпхицс)

Испод је топ 5 поређења између Гит РеБасе и Мерге:

Кључне разлике између Гит РеБасе и Мерге

Разговарајмо о кључној разлици између Гит РеБасе-а и Мергеа:

1. Гит Ребасе

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

Замислимо да имамо главну грану и најновију обавезу за м2, као што је приказано на горњој слици. Из ове обвезе креирамо грану обиљежја и направили смо неке измјене и починили се ф1 поруком. Сад размотримо да је неко спојио свој рад са мастер-ом и сада је последња обавеза учитеља м3, а не м2 као што је приказано испод.

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

Као што се види из горње сцреенграбе, савладали смо најновији албум м3 и имамо функцију која није у складу с мастер-ом јер је створена из м2 снимке м2 почињења који има најновију снимку као ф3. Сада је за комбиновање ових напора са мастер-ом за генерисање приказано доле.

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

$ git checkout feature
Switched to a new branch 'feature'
$ git rebase master

Из горње наредбе ребасе покушаћемо потражити заједничку обавезу и од главног и од карактеристичног и у овом случају то је м2. А тада, пошто морамо поново успоставити мастер, тражит ће допуне које су урађене са мастер-ом и узети снимку м3 и значајку поновног постављања од м2 до м3. Дакле, сада имамо функцију са м3 (уместо м2), ф1, ф2. Сада могу да се пријавим за поновно постављање функције да би се матична грана ажурирала са изменама функције. Једна ствар коју треба запамтити је да свака промена мастер мора бити ревидирана. Ево само показујем на пример сврху.

$ git checkout master
Switched to a new branch 'master'
$ git rebase feature

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

$ git checkout feature
Switched to a new branch 'feature'
$ git log

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

2. Гит Мерге

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

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

$ git checkout master
Switched to a new branch 'master'
$ git merge feature

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

$ git checkout master
Switched to a new branch 'master'
$ git merge –squash feature

треба бити опрезан док користите гит ребасе и покушати то избећи. Златно правило је избегавати га употребом јавних грана.


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

Табела упоређивања Гит РеБасе вс Мерге

Табела у наставку резимира поређења између Гит РеБасе-а и Мерге-а:

Основе поређења између Ребасе и Мерге Ребасе Споји се
ЦоммитсОна мења и преиспитује историју стварајући нову обавезу за сваки зајам у изворној грани.Укључује све промене извора, али одржава порекло сваке историје почињења, укључује све промене извора, али одржава порекло сваке историје извршавања.
ИзборОвде прво проверимо грану која треба да се поново успостави, а затим изаберемо команду ребасе
да бисте га ажурирали другима.
Овде прво погледајте грану коју прво треба спојити. Затим извршите операцију спајања и најновију обавезу извора
спајаће се са последњим завјером учитеља.
Руковање конфликтимаПошто ће историја предавања бити преписана, разумевање сукоба биће тешко
неки предмети.
Конфликт спајања може се лако решити разумевањем грешке која је учињена током спајања.
златно правилоТребало би да се користи на јавним огранцима јер историја почињења може изазвати конфузију.Нема велике штете током обављања јавних огранака.
ДоступностКомитети који су били једном доступни, после поновног успостављања више неће бити доступни јер се промени историја предавања.

Предмети ће остати доступни
из изворних грана.

Закључак

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

Препоручени чланци

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

  1. Гит Фетцх вс Гит Пулл - најбоље разлике
  2. Абстракција вс енкапсулација | Топ 6 поређење
  3. ХБасе архитектура са предностима
  4. ГИТ Интервјуи | Топ 11
  5. ГИТ систем за контролу верзија
  6. Гит Пусх
  7. Инкапсулација у ЈаваСцрипт-у
  8. Комплетан водич за Гит даљинску команду
  9. Три фазе животног циклуса Гит са током рада
  10. Како се користи ГИТ Цхерри-пицк са примером?

Категорија: