Sobes.tech
Junior — Middle

Git versiya nazorat qilish tizimida rebase komandasi qanday ishlash prinsipi va u merge dan qanday farq qiladi, tushuntirib bering.

sobes.tech AI

AIdan javob

git rebase komandasi, commitlar seriyasini yangi bazaga, ya'ni, boshqa commitga o'tkazish yoki 'yazib olish' uchun ishlatiladi. Bu, bir tarmoqdagi o'zgarishlarni olib, ularni boshqa tarmoqqa 'o'yin' qilish imkonini beradi, bu esa qo'shimcha merge-commitlarisiz chiziqli tarix yaratadi.

git merge bilan farqi:

  • git merge ikki tarmoqni birlashtiradi va yangi merge-commit yaratadi, bu ikkala tarmoq tarixini va bo'linmalarni saqlaydi.
  • git rebase bir tarmoq commitlarini boshqa tarmoq ustiga o'tkazadi, tarixni qayta yozadi va uni chiziqli qiladi.

Misol:

Agar sizda feature nomli tarmoq bo'lsa, u masterdan ajralgan bo'lsa va master yangilangan bo'lsa:

  • git merge master featureda o'zgarishlarni birlashtiradigan merge-commit yaratadi.
  • git rebase master featureda commitlaringizni hozirgi master holatiga o'tkazadi, go'yo siz ishni masterning oxirgi holatidan boshlagandek.

Rebase, toza tarixni saqlash uchun qulay, lekin jamoat tarmoqlari bilan ishlashda ehtiyot bo'lish kerak, shunda umumiy tarix yozib olinmaydi.