📌 Git: Rebase vs Merge — Tarixni toza saqlash san'ati
Senior Backend muhandisi sifatida ko'p kuzatadigan xato — bu tartibsiz git tarixi. Har bir kichik commit bilan 'merge' qilingan tarmoqlar loyiha tarixini o'qib bo'lmas holga keltiradi.
Merge vs Rebase:
1. Merge: O'zgarishlarni birlashtiradi va 'merge commit' hosil qiladi. Tarix saqlanib qoladi, lekin chiziqlar juda ko'payib ketadi.
2. Rebase: O'zgarishlaringizni yangi bazaga ko'chiradi. Bu chiziqli va toza tarixni ta'minlaydi.
Qoida: Agar o'zgarishlar faqat sizning lokal tarmog'ingizda bo'lsa, git rebase ishlating. Agar tarmoq allaqachon boshqalar bilan bo'lishilgan bo'lsa, git merge afzalroq.
Amaliy misol, kodni toza saqlash uchun commitlarni birlashtirish (interactive rebase):
# Oxirgi 3 ta commitni birlashtirish uchun:
git rebase -i HEAD~3
# Ochilgan oynada 'pick' so'zini 'squash' ga o'zgartiring
# Bu bir nechta kichik commitlarni bitta mantiqiy commitga aylantiradi.
Nima uchun kerak?
Toza git tarixi — bu jamoa uchun hujjat. Muammo yuz berganda git bisect orqali xatolikni topish osonlashadi va loyiha tarixi professional ko'rinishga ega bo'ladi.
#complex_programmer #python #backend #cleancode
🚀 Kanal: @complexprogrammeruzchannel
💬 Guruh: @complexprogrammergroup
Senior Backend muhandisi sifatida ko'p kuzatadigan xato — bu tartibsiz git tarixi. Har bir kichik commit bilan 'merge' qilingan tarmoqlar loyiha tarixini o'qib bo'lmas holga keltiradi.
Merge vs Rebase:
1. Merge: O'zgarishlarni birlashtiradi va 'merge commit' hosil qiladi. Tarix saqlanib qoladi, lekin chiziqlar juda ko'payib ketadi.
2. Rebase: O'zgarishlaringizni yangi bazaga ko'chiradi. Bu chiziqli va toza tarixni ta'minlaydi.
Qoida: Agar o'zgarishlar faqat sizning lokal tarmog'ingizda bo'lsa, git rebase ishlating. Agar tarmoq allaqachon boshqalar bilan bo'lishilgan bo'lsa, git merge afzalroq.
Amaliy misol, kodni toza saqlash uchun commitlarni birlashtirish (interactive rebase):
# Oxirgi 3 ta commitni birlashtirish uchun:
git rebase -i HEAD~3
# Ochilgan oynada 'pick' so'zini 'squash' ga o'zgartiring
# Bu bir nechta kichik commitlarni bitta mantiqiy commitga aylantiradi.
Nima uchun kerak?
Toza git tarixi — bu jamoa uchun hujjat. Muammo yuz berganda git bisect orqali xatolikni topish osonlashadi va loyiha tarixi professional ko'rinishga ega bo'ladi.
#complex_programmer #python #backend #cleancode
🚀 Kanal: @complexprogrammeruzchannel
💬 Guruh: @complexprogrammergroup