Sok fejlesztő csapatnál visszatérő vita, hogy egy feature branch frissítésekor git merge-öt vagy git rebase-t érdemes-e használni. A merge megőrzi a történet valódi elágazásait, a rebase viszont letisztult, lineáris commit-history-t ad – cserébe felülírja az eredeti idővonalat, ami közös branch-eken kockázatos lehet. A kérdésem arra keresi a választ, milyen szempontok alapján (csapatméret, branch-stratégia, CI/CD folyamat) érdemes eldönteni, melyik módszert mikor célszerű alkalmazni.
Rebase akkor jó, amikor egy feature branchen egyedül dolgozol, és szeretnél tiszta, lineáris történetet. Merge pedig akkor jó, amikor a branch megosztott, vagy a csapat a valós elágazásokat akarja látni.
- A rebease előnye mindenképpen a letisztult timeline rész.
- A rebease hátránya előjöhet shared branch esetén mert ott veszélyes (force push)
- A merge előnye, hogy biztonságos, nem ír át semmit.
- Hátránya lehet például a zsúfoltság érzet, ugyanis zajosabb lesz a history rész.