Sobes.tech
Junior — Middle

Explica principiul de funcționare al comenzii 'git rebase' și în ce se deosebește de 'git merge'.

sobes.tech AI

Răspuns de la AI

Comanda git rebase permite mutarea unei ramuri peste alta, rescriind istoricul commit-urilor ca și cum modificările au fost făcute pe o ramură nouă. Acest lucru ajută la obținerea unei istorii liniare fără commit-uri de fuziune suplimentare.

Diferențe față de git merge:

  • git merge unește ramurile creând un nou commit de fuziune, păstrând istoricul ambelor ramuri.
  • git rebase rescrie istoricul, mutând commit-urile, ceea ce face ca istoricul să fie mai curat și mai liniar.

Exemplu:

git checkout feature
# Mutăm ramura feature pe cel mai recent commit de pe master
 git rebase master

După aceasta, commit-urile din feature vor părea ca și cum au fost create peste ultimul commit de pe master.

Important: nu se recomandă să faceți rebase pe ramuri publice, deoarece acest lucru modifică istoricul și poate cauza conflicte altor dezvoltatori.