Sobes.tech
Junior — Middle

Објасните принцип рада команде 'git rebase' и у чему се разликује од 'git merge'.

sobes.tech АИ

Одговор од АИ

Komanda git rebase omogućava da prebacite granu preko druge, prepisujući istoriju commit-ova tako da deluje kao da su promene napravljene na novoj grani. Ovo pomaže da se dobije linearna istorija bez dodatnih merge commit-ova.

Razlike u odnosu na git merge:

  • git merge spaja grane kreirajući novi merge commit, čuvajući istoriju obe grane.
  • git rebase prepisuje istoriju, pomerajući commit-ove, čime istorija postaje čišća i linearnija.

Primer:

git checkout feature
# Prebacujemo granu feature na aktuelni master
 git rebase master

Nakon toga, commit-ovi grane feature će izgledati kao da su napravljeni na poslednjem commit-u master-a.

Važno: ne preporučuje se pravljenje rebase-a na javnim granama, jer to menja istoriju i može izazvati konflikte kod drugih programera.