Junior — Middle
Фарқи байни фармонҳои 'git merge' ва 'git rebase' ҳангоми пайваст кардани шохаҳо дар системаи назорати версияи Git чист?
sobes.tech AI
Ҷавоб аз AI
Командҳои git merge ва git rebase ҳар ду барои якҷоя кардани тағйирот аз як шоха ба дигар истифода мешаванд, аммо онҳо ба таври гуногун иҷро мешаванд:
-
git merge як коммити нав барои якҷоя кардани таърихи ҳар ду шоха эҷод мекунад, ки таърихи параллелии онҳоро нигоҳ медорад.
- Мисол:
git checkout master git merge feature-branch - Таърихи шохаҳо боқӣ мемонад, нишон медиҳад, кай ва кадом шохаҳо якҷоя карда шудаанд.
- Мисол:
-
git rebase (навиштани дубора) коммитҳоро аз як шоха ба болои дигар мегузаронад, ки таърихи хаттӣ бе коммитҳои якҷояро месозад.
- Мисол:
git checkout feature-branch git rebase master - Ин мисли он аст, ки шохаро аз охирин коммити master оғоз кунед, таърихиро содда мекунад, аммо хешҳои коммитҳоро тағир медиҳад.
- Мисол:
Вақте истифода бурдан:
mergeбарои нигоҳ доштани тамоми таърих ва вақте ки шаффофияти шохакорӣ муҳим аст, қулай аст.rebaseбарои содда кардани таърих пеш аз пайваст кардан ба шохаи асосӣ, барои пешгирӣ кардани коммитҳои иловагӣ, муфид аст.
Муҳим аст, ки ба ёд оред, ки rebase таърихро тағир медиҳад, бинобар ин, тавсия дода намешавад, ки rebase дар шохаҳои умумӣ, ки аллакай дар дастрасии дигарон ҳастанд, анҷом дода шавад.