Junior — Middle
Ներկայացրեք rebase հրամանի աշխատանքի սկզբունքը Git-ի տարբերակների կառավարման համակարգում և ինչպե՞ս է այն տարբերվում merge-ից։
sobes.tech AI
Պատասխան AI-ից
git rebase հրամանը օգտագործվում է կոմիտների շարք տեղափոխելու կամ 'վերագրելու' նոր հիմքի վրա, այսինքն՝ այլ կոմիտի վրա։ Այն թույլ է տալիս վերցնել փոփոխությունները մեկ ճյուղից և 'վերարտադրել' դրանք մյուսի վրա, ստեղծելով ուղիղ պատմություն առանց լրացուցիչ միաձուլման կոմիտների:
Տարբերություններ git merge-ի հետ.
- git merge միավորում է երկու ճյուղեր և ստեղծում նոր միաձուլման կոմիտ, որը պահպանում է երկու ճյուղերի պատմությունը և ճյուղավորումները:
- git rebase տեղափոխում է մեկ ճյուղի կոմիտները մյուսի վերև, վերագրելով պատմությունը և դարձնելով այն ուղիղ:
Օրինակ:
Եթե ունեք feature անունով ճյուղ, որը դուրս է եկել master-ից, և master-ը թարմացվել է, ապա՝
git merge master-ը feature-ում կստեղծի միաձուլման կոմիտ, որը միավորում է փոփոխությունները:git rebase master-ը feature-ում կտեղափոխի ձեր կոմիտները ներկայիս master-ի վերև, կարծես սկսել եք աշխատանքը վերջին master-ի վիճակից:
Rebase-ը օգտակար է մաքուր պատմություն պահելու համար, բայց պահանջում է զգուշություն, երբ աշխատում եք հանրային ճյուղերով, որպեսզի չվերագրեք ընդհանուր պատմությունը։