AXV

Git va versiya boshqaruvi asoslari

VCS tushunchasi, 3 ta hudud (Working, Staging, Repo), commitlar va .gitignore

10-sinfDevOps2-hafta ยท 6-dars

Bugungi dars maqsadlari

VCS tushunchasi

Nega zip nusxalar emas, balki taqsimlangan Git tizimi kerak?

Git 3 ta hududi

Working Directory, Staging Area va Git Repository (.git).

Asosiy buyruqlar

git init, status, add, commit hamda .gitignore qoidalari.

Git butun dunyo standarti

0
IT kompaniyalari Git ishlatadi
100 mln+
dasturchilar jamoasi
2005
Linus Torvalds yaratgan yil
Git tufayli istalgan vaqtda loyihaning bir yil oldingi holatiga qaytish mumkin.
01

Versiya boshqaruvi (VCS)

Zip fayllar xaosidan professional tartib tomon

Zip nusxalar vs Git VCS

Eski usul (Zip arxivlar)

loyiha_final_v2_oxirgisi.zip โ€” doimiy xaos!

Kim, qachon, nimani o'zgartirganini bilib bo'lmaydi.

Jamoada bir vaqtda ishlaganda fayllar bir-birini o'chirib yuboradi.

Zamonaviy usul (Git)

Har bir commit โ€” aniq muallif, sana va izohli fotosurat.

Parallel branchlarda jamoaviy mustaqil ishlash.

Istalgan xato versiyadan darhol orqaga qaytish imkoniyati.

Markazlashgan vs Taqsimlangan VCS

Markazlashgan (SVN) Faqat serverda to'liq tarix bor Server o'chsa โ€” ish to'xtaydi! Taqsimlangan (Git) Har bir kompyuterda to'liq ombor bor Offlayn rejimda ham to'liq ishlaydi!
02

Git'ning 3 ta hududi

Working Directory, Staging Area va Git Repository

Git 3 ta ishchi hududi

Working DirectoryFayllar tahrirlanmoqda(Untracked / Modified) git add Staging AreaIndex maydoni(Staged for commit) git commit Git Repository.git ma'lumotlar bazasi(Committed Snapshot)

Hududlar bilan yaqindan tanishing

Working Dir

bosing

Siz VS Code yoki Vim'da bevosita tahrirlayotgan joriy ishchi papka.

Staging Area

bosing

Keyingi commit uchun tanlab olingan o'zgarishlar savatchasi.

.git Ombori

bosing

Loyiha tarixining barcha snapshotlari mustahkam muhrlangan baza.

03

Asosiy buyruqlar zanjiri

git init, status, add va commit amalda

Commit qilishning 3 qadami

1. Kod yozish

Fayllarni o'zgartirasiz. git status qizil rangda ko'rsatadi.

2. git add

git add . orqali o'zgarishlarni yashil (Staged) holatga o'tkazasiz.

3. git commit

git commit -m "feat: yangi sahifa" bilan tarixga muhrlaysiz.

Commitlar zanjiri (Snapshots)

Commit 1c3b2f1a (init) Commit 28a4d91e (feat) Commit 39f11a2b (HEAD)
04

.gitignore va xavfsizlik

Git omboriga tushmasligi shart bo'lgan fayllar

.gitignore filtrlash qoidasi

Fayllar ro'yxati index.html, .env, app.log .gitignore *.log, .env taqiqlandi Git Repo Toza kod!

Amaliy Git buyruqlari


# Repozitoriy ochish va holatni tekshirish
git init
git status

# O'zgarishlarni qo'shish va commit qilish
git add .
git commit -m "feat: birinchi commit"

# Tarixni bir qatorda ixcham ko'rish
git log --oneline
  
git log --oneline katta loyihalarda tarixni tez ko'rish uchun eng qulay usuldir.

Tezkor bilim sinovi

O'zgartirilgan fayllarni Staging Area (tayyorgarlik maydoni) ga o'tkazish uchun qaysi buyruq ishlatiladi?

To'g'ri: 'git add' fayllarni Staging Area ga tayyorlaydi, 'git commit' esa ularni tarixga yozadi.

Amaliy topshiriq 20 daqiqa

Osongit init bilan repozitoriya yarating va README.md qo'shing.
O'rtagit commit -m "feat: birinchi sahifa" qilib, git log ni ko'ring.
Qiyin.gitignore fayliga *.log qo'shib, filtrlashni sinang.

Bugungi dars xulosasi

O'rganilgan mavzular

VCS afzalliklari, Git'ning 3 ta hududi, init, status, add, commit zanjiri va .gitignore xavfsizligi.

Uyga vazifa

Shaxsiy repozitoriya ochish, bir nechta mantiqiy commit qilish va .gitignore sozlash.