Git branch va merge: jamoaviy ishlashning asosi

Saqlab olindi !

Git branch va merge: jamoaviy ishlashning asosi

Yolg'iz ishlayotganda Git'ning faqat commit va push buyruqlarini bilish yetarli. Lekin jamoada ishlash boshlanishi bilan branch va merge zarur bo'lib qoladi. Bu maqolada branch nima, nega kerak, qanday ishlatish va conflict chiqsa nima qilish kerakligini amaliy misol bilan ko'rsatamiz.

Branch nima — oddiy misol

Tasavvur qiling, loyiha main — bu asosiy va ishlaydigan kod. Siz yangi "to'lov tizimi" funksiyasini qo'shmoqchisiz. Agar to'g'ridan-to'g'ri main'da ish qilsangiz — xato yuzsangiz, hamma ko'radi.

Branch — main'dan nusxa olib, alohida ishlash. Tayyor bo'lgach, main'ga qo'shiladi.

main:          A---B---C
                        \
to'lov-tizim:            D---E---F

Branch yaratish va o'tish

# Yangi branch yarating va o'ting (qisqa usul)
git checkout -b funksiya/tolov-tizimi

# Yoki yangi usul (Git 2.23+)
git switch -c funksiya/tolov-tizimi

# Mavjud branch'lar ro'yxati
git branch

# Boshqa branch'ga o'tish
git checkout main
git switch main

Branch'da ishlash va saqlash

# Kod yozing, keyin saqlang
git add .
git commit -m "To'lov formasi qo'shildi"
git commit -m "To'lov API ulandi"
git commit -m "To'lov xatoliklarini qayta ishlash"

# GitHub'ga yuklash
git push origin funksiya/tolov-tizimi

Merge — branch'larni birlashtirish

# main'ga o'ting
git checkout main

# Oxirgi o'zgarishlarni yuklab oling
git pull origin main

# Branch'ni birlashtiring
git merge funksiya/tolov-tizimi

# GitHub'ga yuboring
git push origin main

Conflict — nima va qanday hal qilish

Conflict — ikki kishi bir xil faylning bir xil qatorini o'zgartirgan paytda yuzaga keladi.

# Conflict bo'lganda Git shunday ko'rsatadi:
<<<<<<< HEAD (main'dagi versiya)
const tolovSumma = 10000;
=======
const tolovSumma = 15000;
>>>>>>> funksiya/tolov-tizimi (branch'dagi versiya)

Hal qilish: 1. Faylni oching 2. Kerakli qatorni qoldiring, qolganini o'chiring (<<<, ===, >>> belgilarni ham) 3. Saqlang va commit qiling

git add .
git commit -m "Conflict hal qilindi"

Ko'p uchraydigan xatolar

Xato 1: main'da to'g'ridan-to'g'ri ishlash. Har doim yangi funksiya uchun branch oching.

Xato 2: Bir branch'da bir nechta funksiya qilish. Har bir funksiya uchun alohida branch — bu tartibni saqlaydi.

Xato 3: Merge qilishdan oldin git pull qilmaslik — eskirgan koddan ishlaganingiz conflict'larni ko'paytiradi.

Maslahat: Branch nomlashda yaxshi urf bo'lgan qoida: funksiya/nima-qilinayapti, tuzatish/qaysi-xato, refaktoring/nima. Masalan: funksiya/login-sahifa, tuzatish/login-xatosi.

+0

👍

+0

❤

+0

😎

+0

💥

+0

👽

+0

😐

+0

👎

Maqola teglari

Abdurahmon Rashidov Dasturlash 23
Facebook Telegram

Bu haftada ko'p o'qildi

Kompyuter tarmoqlarining asosiy turlari

Kompyuter tarmoqlarining asosiy turlari

53781 1321
Kesh xotira nima va uning vazifalari

Kesh xotira nima va uning vazifalari

7154 525
Umumiy tezkor tugmalar : shortcuts

Umumiy tezkor tugmalar : shortcuts

6866 165

Mavzuga oid

Texnik intervyu: ko'p so'raladigan savollar va ularga tayyorgarlik

Texnik intervyu: ko'p so'raladigan savollar va ularga tayyorgarlik

23 1
SQL asoslari: SELECT, WHERE, JOIN — amaliy qo'llanma

SQL asoslari: SELECT, WHERE, JOIN — amaliy qo'llanma

29 2
Freelance'dan birinchi pulni qanday topish mumkin

Freelance'dan birinchi pulni qanday topish mumkin

21 2