Sobes.tech
Junior — Middle

Milyen különbségek vannak a 'git merge' és a 'git rebase' parancsok között a változtatások egy ágba történő integrálásakor?

sobes.tech MI

Válasz az MI-től

A git merge és git rebase parancsokat egyaránt arra használják, hogy változtatásokat integráljanak egyik ágról a másikra, de különböző módon működnek:

  • git merge létrehoz egy új egyesítési commitet, amely összefogja mindkét ág történetét. A történet továbbra is ágazásként jelenik meg, így látható, mikor és hogyan történt az egyesítés.

  • git rebase (újraírás) áthelyezi (átírja) az aktuális ág commitjait egy másik ág fölé, így lineáris történetet hozva létre egyesítési commit nélkül. Ez egyszerűsíti a történetet, de megváltoztatja a commitok hash-ét, ami problémákat okozhat csapatmunkában.

Példa:

# merge
git checkout feature
git merge main

# rebase
git checkout feature
git rebase main

A választás a csapat preferenciáitól függ: a merge megőrzi az egész történetet, a rebase tisztábbá és lineárisabbá teszi.