Чӣ фарқиятҳо байни фармонҳои 'git merge' ва 'git rebase' ҳангоми ҳамгироии тағирот дар шоха?
sobes.tech AI
Ҷавоб аз AI
Командҳои git merge ва git rebase ҳар ду барои ҳамгироии тағирот аз як шоха ба дигар истифода мешаванд, аммо онҳо ба таври гуногун кор мекунанд:
-
git merge як коммити нав барои ҳамгироии шохаҳо месозад, ки таърихи ҳар ду шохро ба ҳам мепайвандад. Таърих ҳамчун як шоха боқӣ мемонад, ки имкон медиҳад, ки вақт ва роҳе, ки ҳамгироӣ сурат гирифтааст, дидан шавад.
-
git rebase (навиштани дубора) коммитҳои шохаи ҳозираро ба болои шохаи дигар мегузорад, ки таърихи хаттӣ бе коммитҳои ҳамгироиро месозад. Ин таърихро содда мекунад, аммо hash-ҳои коммитҳоро тағир медиҳад, ки метавонад дар ҳамкорӣ мушкилот эҷод кунад.
Масалан:
# merge
git checkout feature
git merge main
# rebase
git checkout feature
git rebase main
Интихоб аз афзалиятҳои гурӯҳ вобаста аст: merge тамоми таърихро нигоҳ медорад, rebase онро тоза ва хаттӣ мекунад.