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-ը չպետք է կատարվի հանրային ճյուղերում, քանի որ դա փոխում է պատմությունը և կարող է առաջացնել կոնֆլիկտներ այլ ծրագրավորողների մոտ։