Git – bu kodlar tarixini boshqarish uchun ishlatiladigan ochiq manba'li dastur (open-source project). Git'ning buyrug'lari orasida, cherry-pick
buyrug'i ajralib turadi. cherry-pick
git-dagi muayyan bir commitni olish va uni boshqa bir branchga qo'shish imkonini beradi. Bu sizga ma'lum bir o'zgarishni bitta branchdan boshqasiga o'tkazishga yordam beradi, lekin boshqa o'zgarishlar bilan bog'liq bo'lmagan holda.
Keling, cherry-pick
komandasi yordamida amaliyotlarni ko'rib chiqamiz. Bu misolda, bizda ikkita branch bor: master
va feature
.
- Avvalo, biz kodimizni qanday ko'rinishda ekanligini tekshiramiz.
git log
komandasi yordamida buni qilishimiz mumkin.
git log --oneline
Bu komanda sizga o'zgarishlarni yorituvchi qisqa izohlar bilan birgalikda commitlar tarixini ko'rsatadi.
Misol uchun, quyidagi kabi natijani ko'rishingiz mumkin:
3f6db14 (HEAD -> feature) Yangi funksitya kiritildi
2d9f334 Bug fix 2
0a2d5f7 Bug fix 1
bd2c6e2 (master) Dastlabki commit
- Biz
Yangi funksitya kiritildi
o'zgarishinimaster
branchga o'tkazmoqchimiz. Bu uchun bizcherry-pick
komandasidan foydalanamiz.
git checkout master
git cherry-pick 3f6db14
Bu komanda 3f6db14
hashi bilan belgilangan commitni master
branchga nusxalab o'tkazadi.
- Endi,
master
branchimizdagi o'zgarishlarni tekshirishimiz mumkin:
git log --oneline
Quyidagi kabi natija ko'rishingiz mumkin:
3f6db14 (HEAD -> master) Yangi funksitya kiritildi
bd2c6e2 Initial commit
Bu, Added a new feature
commitini master
branchga nusxalab o'tkazganingizni ko'rsatadi.
Chetga qaramasdan, cherry-pick
komandasi har doim muvaffaqiyatli amalga oshmidi. Agar biror commitda ikki branchdagi fayllar orasida zidliklar bo'lsa, Git sizga xabar beradi va siz ushbu muammolarni qo'lda hal qilishingiz kerak bo'ladi.
To'g'ri ishlatsangiz, cherry-pick
juda kuchli asbob bo'lishi mumkin. Bu sizga biror branchdagi muayyan o'zgarishlarni tez va oson qayta ishlash imkoniyatini beradi, boshqa o'zgarishlarni o'zgartirmasdan. Bu sizning kod tarixingizni toza va tushunarliroq qiladi.