Gitda tarmoqlash (branching)
Tags: git, branching, dasturlash, at
Published: 2023-05-29 06:33:04

Tarmoqlash (`branching`) gitning juda zo‘r va kerakli imkoniyatlaridan biri. Tarmoqlash yordamida loyihada _yangi o‘zgarishlarni qo‘shishimiz_, _xatoliklarni tuzatishimiz_ yoki _yangi g‘oyalarni sinab ko‘rishimiz_ mumkin va eng asosiysi bularni loyihamizdagi asosiy (`main`) tarmoqqa **ta’sir qilmagan holda** bajarolamiz.

## Tarmoq (`branch`) yaratish

`git branch` buyrug‘i bizga mahalliy ya’ni o‘zimizni kompyuterimizda, shu loyihada nechta tarmoq yaratilgan bo‘lsa ro'yxatini ko‘rsatadi. Yonida `*` belgi turgani hozir ishlayotgan tarmoq hisoblanadi. Boshida odatda faqat `main` tarmog‘i bo‘ladi.

`git branch <yangi-tarmoq-nomi>`

buyrug‘i yordamida yangi tarmoq yaratolamiz. Masalan

`git branch feature/hisobni-tahrirlash`

degan buyruq `feature/hisobni-tahrirlash` nomli yangi tarmoq yaratadi.

![gitda tarmoq yaratish](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dg0gcfc10jnsuj5kshr9.png)


## Boshqa tarmoqqa o‘tish

Yaratganimizdan so‘ng

`git checkout feature/hisobni-tahrirlash`

buyrug‘i yordamida yangi yaratilgan tarmoqqa o‘tolamiz.

![gitda boshqa tarmoqqa o'tish](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5jskhl4zdhirbjmziog7.png)

## Tarmoqlarni birlashtirish

Yangi tarmoq yaratdik, unga o‘tib qilinishi kerak bo‘lgan ishlarni qildik, endi navbat o‘sha o‘zgarishlarni asosiyga qo‘shish. Buning uchun oldin asosiyga o‘tib

`git merge feature/hisobni-tahrirlash`

buyrug‘ini yozamiz. Bu buyruqni berganingizda git o‘sha tarmoqni asosiy bilan birlashtirishga urinadi, shu holatda `conflict` ya’ni ikkita tarmoq o‘rtasida _kelishmovchilik_ chiqishi mumkin. Agar shunday bo‘lsa kelishmovchiliklarni to‘g‘rilaymiz keyin birlashtirish tugatiladi. _Kelishmovchiliklarni to‘g‘rilash haqida nasib qilsa keyingi maqolalarda gaplashamiz._

![gitda tarmoqlarni birlashtirish](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7pg01i9ja201fxn1i2vb.png)

## Tarmoqni o‘chirish

Biron tarmoq kerak bo‘lmay qolsa, masalan o‘zgarishlar asosiyga qo‘shildi endi o‘zgarishlar yozilgan tarmoq bizga kerak emas. Uni o‘chirish uchun quyidagi buyruqni yozamiz

`git branch -d feature/hisobni-tahrirlash`

![gitda tarmoqni o'chirish](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3vld161a7ubuux6suavp.png)

_Yuqorida `feature/hisobni-tahrirlash` degan tarmoq nomi shunchaki misol tariqasida yozildi, siz o‘zingiz xohlagan tarmoq nomini yozasiz uni o‘rniga._

## Tarmoqlarni nomlash qoidalari

Tarmoqlarni nomlaganda tartibli bo‘lgan yaxshi. Shu sababdan quyidagidek nomlash qoidalari kelib chiqqan.

`feature/<yangi-imkoniyat>`: Bu nomlash loyihaga **yangilik** ➕ qo‘shishda ishlatiladi odatda.

`bugfix/<xatolik-tartib-raqami>`: Bu esa nomidan ma’lum **xatoliklarni** 🪲 to‘g‘rilash uchun yaratilgan tarmoqlar uchun foydalaniladi.

`hotfix/<yonib-turgan-xatolik-tartib-raqami>`: Nomidan sezgandirsiz, loyihada tezda to‘g‘rilanishi kerak bo‘lgan **yonib turgan** 🔥 xatoliklar tarmoqlari shunday nomlanadi.

Bunday nomlashga majbur emasmiz lekin shu nomlash qoidalariga amal qilsak loyiha tarixini kuzatish va tushunish ancha osonlashadi. Odatda ko‘p kompaniyalarda shunday qoidalar bo‘ladi va xodim sifatida unga amal qilishimiz zarur.

## Xulosa

Demak bu maqolada yangi tarmoq _yaratish_, unga _o‘tib ishlash_, o‘zgarishlarni _asosiyga qo‘shish_, tarmoqni _o‘chirish_ va _nomlash qoidalarini_ o‘rgangan bo‘ldik.

Barchasini o'zingiz sinab ko'ring. Fikr yoki savollaringiz bo'lsa izohda qoldiring.

Omad 💪

©️[_rasm_](https://www.testeryou.com/wp-content/uploads/2022/02/gitbr1.png)