Sobes.tech
Junior — Middle

Izskaidrojiet 'git rebase' komandas darbības principu un kā tā atšķiras no 'git merge'.

sobes.tech AI

Atbilde no AI

Komanda git rebase ļauj pārvietot zaru virs citas, pārrakstot commit vēsturi tā, it kā izmaiņas būtu veiktas jaunā zarā. Tas palīdz iegūt lineāru vēsturi bez papildu saplūšanas commitiem.

Atšķirības no git merge:

  • git merge apvieno zarus, izveidojot jaunu saplūšanas commit, saglabājot abu zarus vēsturi.
  • git rebase pārraksta vēsturi, pārvietojot commitus, padarot vēsturi tīrāku un lineārāku.

Piemērs:

git checkout feature
# Pārvietojam feature zarā uz aktuālo master
 git rebase master

Pēc tam, feature commitus izskatīsies, it kā tie būtu izveidoti virs pēdējā master commit.

Svarīgi: neiesaka veikt rebase publiskās zaros, jo tas maina vēsturi un var radīt konfliktus citiem izstrādātājiem.