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 mergespaja grane kreirajući novi merge commit, čuvajući istoriju obe grane.git rebaseprepisuje 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.