Junior — Middle
Koja je razlika između komandi 'git merge' i 'git rebase' prilikom spajanja grana u sistemu kontrole verzija Git?
sobes.tech АИ
Одговор од АИ
Komande git merge i git rebase se oba koriste za spajanje promena iz jedne grane u drugu, ali to rade na različite načine:
-
git merge kreira novi commit spajanja koji ujedinjuje istoriju obe grane, zadržavajući njihovu paralelnu istoriju.
- Primer:
git checkout master git merge feature-branch - Istorija grana ostaje razgranata, pokazujući kada i koje grane su spojene.
- Primer:
-
git rebase premešta (prepisuje) commit-ove iz jedne grane na drugu, stvarajući linearnu istoriju bez commit-ova spajanja.
- Primer:
git checkout feature-branch git rebase master - To je kao da započinjete novu granu od poslednjeg commit-a na master-u, pojednostavljujući istoriju, ali menjajući hash-ove commit-ova.
- Primer:
Kada koristiti:
mergeje zgodan za očuvanje cele istorije i kada je važna transparentnost grananja.rebaseje koristan za pojednostavljenje istorije pre spajanja u glavnu granu, da bi se izbegli suvišni commit-ovi spajanja.
Važno je zapamtiti da rebase menja istoriju, stoga se ne preporučuje da se radi rebase na javnim granama koje su već dostupne drugima.