Sobes.tech
Junior — Middle

Ներկայացրեք 'git rebase' հրամանի աշխատանքի սկզբունքը և ինչպե՞ս է այն տարբերվում 'git merge'-ից։

sobes.tech AI

Պատասխան AI-ից

git rebase հրամանը թույլ է տալիս տեղափոխել մի ճյուղ մյուսի վրա, վերաշարադրելով հանձնառությունների պատմությունը այնպես, կարծես փոփոխությունները կատարվել են նոր ճյուղում: Սա օգնում է ստանալ ուղիղ պատմություն առանց լրացուցիչ միաձուլման հանձնառությունների:

Տարբերություններ git merge-ի հետ.

  • git merge միավորում է ճյուղերը ստեղծելով նոր միաձուլման հանձնառություն, պահպանում է երկու ճյուղերի պատմությունը:
  • git rebase վերաշարադրում է պատմությունը, տեղափոխելով հանձնառությունները, ինչը դարձնում է պատմությունը ավելի մաքուր և ուղիղ:

Օրինակ:

git checkout feature
# Տեղափոխում ենք feature ճյուղը արդիական master-ի վրա
 git rebase master

Այնուհետև, feature-ի հանձնառությունները կթվայնան, կարծես դրանք ստեղծված լինեին վերջին master-ի հանձնառուի վրա:

Մեծ կարևորություն ունի՝ rebase-ը չպետք է կատարվի հանրային ճյուղերում, քանի որ դա փոխում է պատմությունը և կարող է առաջացնել կոնֆլիկտներ այլ ծրագրավորողների մոտ։