Junior — Middle
Explica principiul de funcționare al comenzii rebase în sistemul de control al versiunilor Git și în ce constă diferența față de merge.
sobes.tech AI
Răspuns de la AI
Comanda git rebase este utilizată pentru a muta sau a 'rescrie' o serie de commit-uri pe o nouă bază, adică pe un alt commit. Permite preluarea modificărilor dintr-o ramură și 'redarea' lor peste o altă ramură, creând o istorie liniară fără commit-uri de îmbinare suplimentare.
Diferențe față de git merge:
- git merge unește două ramuri, creând un nou commit de îmbinare care păstrează istoricul ambelor ramuri cu ramificații.
- git rebase mută commit-urile unei ramuri pe vârful altei, rescrie istoricul și îl face liniar.
Exemplu:
Dacă ai o ramură feature, derivată din master, și master a fost actualizat, atunci:
git merge masterîn feature va crea un commit de îmbinare care unește modificările.git rebase masterîn feature va muta commit-urile tale peste starea actuală a lui master, ca și cum ai fi început munca de la ultima stare a lui master.
Rebase este util pentru menținerea unei istorii curate, dar necesită precauție atunci când lucrezi cu ramuri publice pentru a nu rescrie istoricul comun.