Published on

Git: .gitignore va README yaratish

Authors

Bu darsda ikkita standart git fayli ko'rib chiqiladi:

  • .gitignore β€” gitga qaysi fayllarni e'tiborsiz qoldirish kerakligini bildiradi
  • README.md β€” repozitoriyaning asosiy sahifasida ko'rinadigan loyiha tavsifi

1. .gitignore fayli

Nima uchun kerak?

Xcode loyihalarida bir qator texnik fayllar bo'ladi β€” shaxsiy sozlamalar, kesh, tizim fayllari β€” ular kodga aloqasi bo'lmaydi. Misol:

  • *.xcuserstate β€” Xcode-ning shaxsiy interfeys holati fayli
  • .DS_Store β€” macOS-ning yashirin papka ma'lumotlari fayli

Bu fayllar har bir ishlab chiquvchining kompyuterida turlicha bo'ladi. Ularni repoga qo'shish β€” gereksiz shovqin va potensial konfliktlar.

Xcode o'z ichida ba'zi fayllarni avtomatik e'tiborsiz qoldiradi. Lekin Git Kraken yoki boshqa vositalar bu haqda bilmaydi. .gitignore β€” barcha vositalar uchun ishlaydi.

Fayl joylashuvi va nomi

repo/
└── .gitignore       ← repo ildizida (root), aniq shu nom bilan

Xcode va Swift loyihalari uchun standart .gitignore

ChatGPT yoki gitignore.io dan "Xcode Swift" uchun shablon olish mumkin. Tipik tarkib:

# Xcode
*.xcuserstate
*.xcuserdatad/
.DS_Store

# Derived Data
DerivedData/

# Build
build/

# Pods (agar CocoaPods ishlatilsa)
Pods/

# SPM
.swiftpm/

Agar muayyan fayl stage qilib bo'lmayotgan bo'lsa β€” ehtimol u .gitignore-da ko'rsatilgan. Kerak bo'lsa faylni olib tashlash yoki ro'yxatni tahrirlash mumkin.

Muhim: Agar fayl avval allaqachon commit qilingan bo'lsa, uni .gitignore-ga qo'shish uni git tarixidan o'chirmaydi. Tarixdan olib tashlash uchun git rm --cached <fayl> bajarib, qayta commit qilish kerak.

Yangi loyihada qachon qo'shish kerak?

Imkon qadar birinchi commit-dan oldin yoki darhol keyin. Loyiha tugagandan keyin qo'shish esa β€” allaqachon commit qilingan keraksiz fayllarni tozalashni talab qiladi.


2. README.md fayli

Nima uchun kerak?

GitHub-da repozitoriy sahifasiga kirganda ko'rinadigan matn β€” bu README.md. U loyihaning "kirish eshigi" hisoblanadi.

README nima o'z ichiga olishi kerak?

Ochiq manba (public) loyihalar uchun:

  • Loyiha nima qilishi
  • O'rnatish va ishlatish yo'riqnomasi
  • Kod namunalari
  • Muassif bilan bog'lanish ma'lumotlari

Ichki (internal) jamoaviy loyihalar uchun:

  • PR yaratish qoidalari
  • Commit xabarlari formati
  • Kodni qanday tuzilmalashtirish kerakligi
  • Jamoadagi ishlab chiqish qoidalari

Markdown asoslari

README.md β€” Markdown formatida yoziladi. Asosiy sintaksis:

# Katta sarlavha (H1)

## O'rta sarlavha (H2)

### Kichik sarlavha (H3)

- Ro'yxat elementi
- Yana bir element

[Havola matni](https://example.com)

**Qalin matn**
_Kursiv matn_

`Inline kod`

```swift
// Kod bloki
let greeting = "Salom"
```

Sarlavha belgilari (`#`) soni kamaygan sari sarlavha kattalashadi. README yozishda eng oson yo'l β€” yoqqan README topib, nusxa olib, o'z loyihangizga moslashtirish.

### GitHub-da README qo'shish

1. Repo asosiy sahifasida `Add README` tugmasini bosing
2. Yoki `Add file β†’ Create new file` orqali `README.md` nomli fayl yarating
3. Markdown matn kiriting, `Preview` orqali ko'rinishni tekshiring
4. Commit qiling

### GitHub profil README

GitHub profil sahifasiga (`github.com/username`) kiruvchilar uchun ham README yaratish mumkin. Buning uchun username-ga teng nomli yangi repo yaratiladi:

Repo nomi: your-username Fayl: README.md


Bu fayl GitHub profil sahifangizda avtomatik ko'rinadi.

### Wiki

Katta loyihalarda README juda uzun bo'lib ketishi mumkin. Bu holda GitHub Wiki ishlatiladi β€” bu README-ga o'xshash, lekin alohida sahifalar ko'rinishidagi tizim. README asosiy ma'lumot va Wiki havolalarini, Wiki esa batafsil texnik tafsilotlarni o'z ichiga oladi.

---

## Xulosa

Bu darsda o'rganildi:

- **`.gitignore`** β€” repo ildizida joylashadi, barcha git vositalariga qaysi fayllarni e'tiborsiz qoldirishni bildiradi
- Xcode va Swift loyihalari uchun standart `.gitignore` ChatGPT yoki gitignore.io orqali generatsiya qilinadi
- `.gitignore`-ga allaqachon commit qilingan faylni qo'shish ularni tarixdan o'chirmaydi β€” `git rm --cached` kerak
- **`README.md`** β€” repozitoriy asosiy sahifasida ko'rinadigan loyiha tavsifi
- README Markdown formatida yoziladi
- Ochiq manba loyihalar uchun: o'rnatish, ishlatish, misol kodi; ichki loyihalar uchun: jamoa qoidalari, commit formati, PR qoidalari
- GitHub profil README β€” username-ga teng nomli repo yaratib, `README.md` qo'shish orqali yaratiladi

---

*Keyingi darsda git flow va professional muhitda git jarayonlari ko'rib chiqiladi.*
Buy mea coffee