Tizimning vazifasi, 3 ta holat, commitlar va Android uchun .gitignore
10-sinfAdvanced Android3-hafta · 7-darsTarqoq versiya nazorati tizimi va uning «vaqt mashinasi» vazifasi
Working Directory, Staging Area va Repository (.git) arxitekturasi
Kompilyatsiya va shaxsiy SDK fayllarini repodan toza saqlash qoidalari
Loyiha_v1.zip, Loyiha_v2_oxirgi.zip, Loyiha_final_rostanam.zip...
Bitta xato tufayli butun loyiha buzilib ketsa, qayerda nima o'zgarganini bilish imkonsiz bo'lib qoladi.
Barcha o'zgarishlar bitta papka ichida, aniq sana, muallif va izoh bilan vaqt shajarasiga muhrlanadi.
Istalgan vaqtda eski holatga bitta buyruq bilan qaytish mumkin.
Git har bir yozilgan kod ostida kim turganini bilishi kerak. Buning uchun bir marta buyruq kiritiladi:
git config --global user.name "Ali Valiyev"
git config --global user.email "[email protected]"
Kiritilgan parametrlarni ko'rish uchun:
git config --list
Bu ma'lumotlar keyinchalik GitHub'dagi profilingiz bilan bog'lanadi.
Working Directory, Staging Area va Repository (.git)
Istalgan loyiha papkasiga kirib, terminalda yoziladi:
git init
Natijada papka ichida yashirin .git/ papkasi paydo bo'ladi.
.git/ papkasi — Gitning barcha xotirasi. Agar siz uni o'chirib yuborsangiz, loyihaning butun o'tmishi bir zumda yo'qoladi!
Oddiy fayllar qoladi, lekin commitlar tarixi o'chib ketadi.
Untracked files:
(use "git add <file>...")
MainActivity.kt
Git fayl borligini ko'rdi, lekin u hali sahnaga kiritilmagan.
Changes to be committed:
new file: MainActivity.kt
Fayl git add qilindi va suratga olinishga tayyor holatda turibdi.
Faqat aniq bir fayl o'zgarishini sahnaga chiqarish:
git add MainActivity.kt
Boshqa fayllar Working Directory'da qoladi.
Loyiha papkasidagi hamma o'zgargan va yangi fayllarni qo'shish:
git add .
Nuqta (.) barcha joriy papka fayllarini bildiradi.
Terminalda loyiha papkasiga kiring: cd MyAndroidApp
Omborni ishga tushiring va .gitignore mavjudligini tekshiring.
Barcha kerakli manba kodlarini sahnaga (Staging Area) olib chiqing.
Ma'noli izoh bilan tarixga yozing: git commit -m "Initial commit"
"kod yozdim", "tuzatish", "asdasd", "oxirgi versiya"
Bir oydan keyin qaysi commit nima qilganini hech kim topolmaydi!
feat: Foydalanuvchi profil ekrani qo'shildi
fix: Login tugmasi bosilmaslik xatosi tuzatildi
docs: README fayliga qo'llanma kiritildi
commit a1b2c3d4e5f6... (HEAD -> main)
Author: Ali Valiyev <[email protected]>
Date: Sun Oct 4 14:20:00 2026
feat: Login sahifasi yaratildi
Har bir commitning 40 xonali unikal xeshi (SHA-1) ko'rinadi.
git log --oneline --graph
* a1b2c3d feat: Login sahifasi
* e4f5g6h docs: README yaratildi
* 9z8y7x6 Initial commit
Katta loyihalarda tarixni tez ko'rish uchun eng qulay usul.
Repozitoriyni ortiqcha og'ir kesh va shaxsiy parollardan tozalash
sdk.dir=/Users/ali/Library/Android/sdk
Agar siz bu faylni Gitga yuklasangiz, do'stingiz (masalan, Windows ishlatuvchi) kodni yuklab olganda uning Android Studio'si ishlamay qoladi!
Ko'pincha API kalitlar va parollar shu yerda saqlanadi.
Uni ochiq repoga yuklash xavfsizlikka jiddiy putur yetkazadi.
Shuning uchun u doimo .gitignore ichida bo'ladi.
# Gradle va Build chiqishlari
.gradle/
build/
app/build/
# Shaxsiy SDK
local.properties
# Android Studio keshlari
.idea/caches/
.idea/libraries/
*.iml
# Chiqarilgan APK va AAB lar
*.apk
*.aab
# Tizim fayllari
.DS_Store
Thumbs.db
Android Studio loyiha ochganda ushbu faylni avtomatik to'g'ri yaratib beradi.
Unikal ID: Har bir commitning 40 belgili kodi (masalan, 4c7d2e...). Gitda hamma narsa shu kod orqali topiladi.
Ombor: Butun loyiha tarixi va sozlamalari shu yashirin papkada yotadi. Uni o'chirish loyihani nollaydi.
Tozalik: Keshlar va shaxsiy kalitlarni repodan chetlatib, loyihani ixcham va xavfsiz saqlaydi.
git config --global user.name "..." — ismni kiritish
git init — yangi ombor ochish
git status — fayllar holatini tekshirish
git add <fayl> (yoki git add .) — sahnaga olish
git commit -m "izoh" — tarixga muhrlash
git log --oneline — tarixni ko'rish
Terminalda AndroidNotes papkasini oching, git init qiling va README.md faylini commit qiling.
.gitignore fayli yaratib, *.log deb yozing. Yangi log fayl yaratganda uning kuzatilmasligini tekshiring.
Commit qilishdan avval doim git status buyrug'i bilan sahnani tekshiring.
Commit xabarlari nima qilinganini aniq ifodalasin (masalan, feat: ...).
Ortiqcha keshlar va parollarni aslo Gitga yuklamang.
Katta ish tugashini kutmay, har bir kichik mantiqiy blokdan so'ng commit qiling.
O'z kompyuteringizda git config orqali ism va pochtani kiritish.
Yangi loyiha ochib, kamida 3 ta ma'noli commit qilish va git log ni ko'rish.
Keyingi dars: Git tarmoqlari (Branch), birlashtirish (Merge) va to'qnashuvlarni (Conflict) yechish!