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:
mergeje pogodan za očuvanje cele istorije i kada je važna transparentnost grana.rebaseje 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.