Git'da nizolarni qanday hal qilish mumkin?
sobes.tech AI
AIdan javob
Git'da nizolar, agar ikki ishtirokchi bir xil fayl bo'lagini o'zgartirsa yoki biri faylni o'chirib, ikkinchisi esa o'zgartirsa, yuzaga keladi.
Nizolarni hal qilish uchun odatda quyidagi bosqichlar bajariladi:
-
Mahalliy repozitoriyani yangilash: Sizda eng so'nggi kod versiyasi bo'lishiga ishonch hosil qiling.
// Uzatmadan so'nggi o'zgarishlarni olish git pull origin <branch-name> -
Nizo yuzaga kelgan fayllarni aniqlash: Git qaysi fayllarda nizolar borligini bildiradi.
// Repozitoriyaning holatini va nizoli fayllarni ko'rsatish git statusFayllarda nizolar belgilari ko'rinadi, masalan:
<<<<<<< HEAD // Sizning mahalliy o'zgarishlaringiz ======= // Uzatmadan kelayotgan o'zgarishlar >>>>>>> <commit-hash><<<<<<< HEAD: mahalliy o'zgarishlar boshlanishi.=======: o'zgarishlar orasidagi ajratuvchi.>>>>>>> <commit-hash>: kelayotgan o'zgarishlar va commit hash.
-
Fayllarni qo'lda tahrirlash: Nizoli faylni matn tahrirlagichda oching va nizolar belgilari bilan belgilangan joylarni qo'lda o'chiring, faqat kerakli kodni qoldiring. Qaysi versiyani saqlash yoki ikkisini birlashtirishni hal qiling.
-
Tuzatilgan fayllarni qo'shish: Faylni hal qilgach, uni indeksga qo'shing.
// Tuzatilgan faylni indeksga qo'shish git add <conflicted-file>Bu bosqichni barcha nizoli fayllar uchun takrorlang.
-
Nizo hal qilish uchun commit yaratish: Barcha tuzatilgan fayllarni qo'shgach, commit yarating. Git avtomatik ravishda nizoni hal qilish haqida xabar taklif qiladi.
// Nizo hal qilish uchun commit yaratish git commitBu xabarni saqlashdan oldin tahrirlashingiz mumkin.
-
O'zgarishlarni yuborish: Hal qilingan o'zgarishlarni uzatish uchun yuboring.
// O'zgarishlarni uzatish git push origin <branch-name>
Nizo hal qilish uchun vositalar:
Quyidagi grafik birlashtirish vositalaridan foydalanish mumkin:
- Kdiff3
- Meld
- VS Code Birlashtirish Tahrirchisi
- IDElar (IntelliJ IDEA, PyCharm va boshqalar) bilan o'rnatilgan vositalar
Tashqi vositani sozlash uchun:
// Tashqi birlashtirish vositasini sozlash (misol uchun opendiff uchun)
git config --global merge.tool opendiff
// Vositani ishga tushirish
git mergetool
E'tibor bering, uzatmadan o'zgarishlarni o'z vaqtida olish (git pull) nizolar sonini kamaytirishga yordam beradi.