Sobes.tech
Junior — Middle

Magyarázza el a rebase parancs működési elvét a Git verziókezelő rendszerben, és miben különbözik a merge-től.

sobes.tech MI

Válasz az MI-től

A git rebase parancsot arra használják, hogy egy commit-sorozatot egy új alapra helyezzenek vagy 'újraíjanak', azaz egy másik commit fölé helyezzék. Lehetővé teszi, hogy egy ág változtatásait átvegye és 'újrajátsza' egy másik ág fölött, így létrehozva egy lineáris történelmet további merge-commitok nélkül.

Különbségek a git merge-hez képest:

  • git merge két ágat egyesít, és egy új merge-commitot hoz létre, amely megőrzi mindkét ág történetét és elágazásait.
  • git rebase egy ág commitjait egy másik ág tetejére helyezi, újraírással és lineárissá téve a történelmet.

Példa:

Ha van egy feature nevű ágad, amely a masterből ágazott ki, és a master frissült, akkor:

  • git merge master a feature-ben létrehoz egy merge-commitot, amely összefogja a változásokat.
  • git rebase master a feature-ben a commitokat a jelenlegi master állapota fölé helyezi, mintha a legutolsó master állapotából kezdtél volna dolgozni.

A rebase hasznos a tiszta történet fenntartásához, de óvatosság szükséges nyilvános ágakkal való munkánál, hogy ne írjuk át a közös történelmet.