Junior — Middle
Тавзеҳ диҳед, ки истифодаи фармонҳои git rebase ва git merge дар ворид кардани тағирот ба шохаҳо чӣ фарқ дорад.
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барои содда кардани таърих пеш аз ҳамҷоя кардан ба шохаи асосӣ, барои пешгирӣ кардани комитҳои иловагӣ, ки дар ҳамҷоясозӣ ҳастанд.
Муҳим: тавсия дода намешавад rebase дар шохаҳои умумӣ, зеро ин таърихро тағир медиҳад ва метавонад муноқишаҳо дар дигар таҳиягаронро ба вуҷуд орад.