Sobes.tech
Junior — Middle

Принсипи кори 'git rebase' ва фарқияти он бо 'git merge'-ро шарҳ диҳед.

sobes.tech AI

Ҷавоб аз AI

Команда git rebase имкон медиҳад, ки як шохро ба болои дигар гузошта шавад, ки таърихи комитҳоро такрорбарор мекунад, гӯё тағирот дар як шохи нав анҷом ёфта бошад. Ин кӯмак мекунад, ки таърихи хаттӣ бе комитҳои иловагии омезишӣ ба даст оред.

Фарқиятҳо бо git merge:

  • git merge шохҳоро пайваст мекунад, бо эҷоди як комити нав барои омезиш, таърихи ҳар ду шохро нигоҳ медорад.
  • git rebase таърихиро навишт, комитҳоро кӯчонида, таърихи бештар тоза ва хаттӣ мекунад.

Масалан:

git checkout feature
# Шохи feature-ро ба актуалӣ кардани master кӯчонед
 git rebase master

Пас аз ин, комитҳои feature мисли он хоҳанд буд, ки онҳо дар болои охирин комити master сохта шудаанд.

Муҳим: тавсия дода намешавад rebase дар шохҳои умумӣ, зеро ин таърихиро тағир медиҳад ва метавонад боис гардад ба ихтилофот бо дигар таҳиягарон.