Sobes.tech
Junior — Middle

Objasnite u čemu se razlikuje korišćenje komandi git rebase i git merge prilikom integracije promena u grane.

sobes.tech АИ

Одговор од АИ

git merge i git rebase su dva načina za integraciju promena iz jedne grane u drugu, ali rade na različite načine:

  • git merge kreira novi commit spajanja, koji ujedin istorije obe grane. Istorija čuva sve grane i commitove, pružajući potpunu sliku razvoja.

  • git rebase pomera commitove trenutne grane na drugu granu, prepisujući istoriju. To čini istoriju linearnijom i čistijom, ali menja hash-ove commitova.

Primer:

# merge
git checkout feature
git merge main

# rebase
git checkout feature
git rebase main

Kada koristiti:

  • merge je pogodan za očuvanje cele istorije i kada je važna transparentnost grana.
  • rebase je koristan za pojednostavljenje istorije pre spajanja u glavnu granu, da bi se izbegli suvišni commitovi spajanja.

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