Sobes.tech
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-ը օգտակար է մաքուր պատմություն պահելու համար, բայց պահանջում է զգուշություն, երբ աշխատում եք հանրային ճյուղերով, որպեսզի չվերագրեք ընդհանուր պատմությունը։