Sobes.tech
Middle

Mi a különbség a rebase és a merge között a Git-ben?

sobes.tech MI

Válasz az MI-től

A Merge egy ágak egyesítését végzi, új egyesítési commitet hozva létre. A Rebase egy ág commitjeit egy másik ág fölé helyezi át, újraírással a történelmet.

Merge:

  • Megőrzi a változások történetét eredeti formájában.
  • Új commitet hoz létre.
  • Könnyebb követni a változások eredetét.

Rebase:

  • Lineáris történetet hoz létre.
  • Nem hoz létre új egyesítési commitet.
  • Újraíri a commit történelmet.
  • Problémákat okozhat csapatmunkában, ha a történet már publikálva van.

Összehasonlítás:

Tulajdonság Merge Rebase
Történet Lineáris, elágazásokkal (egyesítési commit) Lineáris (újraírt történet)
Commitok Új egyesítési commitet ad hozzá Létező commitokat helyez át új helyre
Követés Könnyebb megérteni, honnan származnak a változások Megnehezítheti a követést
Együttműködés Ajánlott publikált ágakhoz Nem ajánlott publikált ágakhoz

Merge példa:

// Váltás a célágra
git checkout main

// Az feature ág egyesítése
git merge feature

Rebase példa:

// Váltás az újra alapozandó ágra
git checkout feature

// Rebase az feature ágra a main fölött
git rebase main