Mundarija (32)
- Bu darsda
- 1. Nega bu kerak?
- 2. Repo yaratish: har bir tanlov
- 2.1 .gitignore shablonlari
- 3. Public yoki private?
- 4. README.md va GitHub Markdown
- 4.1 README'da nima bo'ladi?
- 4.2 Portfolio uchun README
- 5. LICENSE — kim nima qila oladi?
- 5.1 Litsenziyasiz repo — ochiq emas
- 5.2 LICENSE qo'shish — GitHub'da
- 6. About: tavsif, sayt va topics
- 7. Settings: muhim sozlamalar
- 7.1 Repo nomini o'zgartirish
- 7.2 Asosiy branch nomi: master → main
- 7.3 Collaborators — hamkorlar
- 7.4 Danger Zone
- 8. Hujumchi nigohi
- 9. Ko'p uchraydigan xatolar
- 9.1 README ko'rinmayapti
- 9.2 GitHub'da LICENSE yaratdim, push rad etildi
- 9.3 README'dagi rasm chiqmaydi
- 9.4 Mavjud loyiha uchun repo README bilan yaratildi
- 9.5 Pages yo'qoldi
- 10. Mashqlar
- 1-mashq (oson): Qayerga yoziladi?
- 2-mashq (o'rta): Bo'sh joylarni to'ldiring
- 3-mashq (qiyin): Repo auditi
- 4-mashq: Portfolio qadami — vitrinani bezang
- 11. Real ishda
- Xulosa
- Manbalar
GitHub repo: README, LICENSE, topics va sozlamalar — loyihani professional ochish
Qisqacha: GitHub — Git repolarini saqlash (hosting) va birga ishlash platformasi. Repo'ning "yuzi" — uchta narsa: README.md (loyiha nima va qanday ishga tushiriladi), LICENSE (boshqalar kodingizdan qanday foydalanishi mumkin) va About bloki (tavsif, sayt havolasi, topics). Sozlamalarda (Settings) nom, asosiy branch, ko'rinish (public/private) va hamkorlar (collaborators) boshqariladi.
Bu darsda
- Yangi repo yaratishdagi har bir tanlovni — ko'rinish, README,
.gitignore, litsenziya — ongli qilasiz. - GitHub Markdown bilan sarlavha, ro'yxat, jadval, kod, vazifa ro'yxati va ogohlantirishli README yozasiz.
- Litsenziya nima uchun kerakligini tushuntirib, repoga MIT litsenziyasini qo'shasiz.
- About blokini — tavsif, sayt, topics — to'ldirasiz.
- Repo nomini, asosiy branch nomini va hamkorlarni sozlamalardan boshqarasiz.
Oldin bilishingiz kerak: Remote: clone, fetch, pull, push, Ajralgan tarix, .gitignore: to'liq qo'llanma.
1. Nega bu kerak?
Ish beruvchi rezyumengizdagi havolani bosdi va GitHub'dagi repongizga tushdi. U ko'radigan birinchi narsa — fayllar ro'yxati va uning ostidagi matn. Matn yo'q bo'lsa, u sayt/, .github/, package.json ni ko'radi va "bu nima?" deb, keyingi nomzodga o'tadi.
Do'kon vitrinasini tasavvur qiling. Mol yaxshi bo'lishi mumkin, lekin peshtaxtada nom, narx va "nima uchun kerak" yozuvi bo'lmasa, xaridor kirmaydi. README, litsenziya va About — repo'ning vitrinasi.
GitHub — Git repolarini internetda saqlaydigan va ular ustida birga ishlashga yordam beradigan platforma. Git — kompyuteringizdagi dastur, GitHub — u bilan ishlaydigan sayt. Oldingi darslarda uning "saqlash" tomonini ishlatdik. Bugun — "ko'rsatish" tomoni.
Repo sahifasi qanday tuzilgan:
flowchart TD
R["github.com/login/repo"] --> C["Code"]
R --> A["About bloki"]
R --> S["Settings"]
C --> F["Fayllar ro'yxati"]
C --> M["README<br/>(chizilgan holda)"]
A --> T["Tavsif, sayt"]
A --> P["Topics, litsenziya"]
S --> N["Nom, branch,<br/>ko'rinish"]
S --> H["Collaborators"]Nimaga qarang: README alohida tab emas — u fayllar ro'yxati ostida o'zi chiziladi. About esa o'ng tomonda, har tashrif buyuruvchi ko'radigan joyda.
2. Repo yaratish: har bir tanlov
Yangi repo (docs.github.com, 2026-yil sentyabr holati): o'ng yuqoridagi + → New repository. Formada:
- Owner — kimning nomidan (sizning akkauntingiz yoki tashkilot).
- Repository name — nomi. GitHub hujjati bo'yicha 100 belgidan oshmaydi va faqat lotin harflari, raqamlar,
.,-,_bo'lishi mumkin. Apostrof va bo'sh joy yo'q:o'quv loyihaemas,oquv-loyiha. - Description — ixtiyoriy, bir gaplik tavsif. Keyin About'da o'zgartirasiz.
- Visibility — Public yoki Private (keyingi bo'lim).
- Uchta ixtiyoriy fayl: Add README (yoqib-o'chiriladigan tugma), .gitignore shabloni va license (litsenziya).
- Create repository.
Muhim qoida (GitHub hujjatidan): agar kompyuterdagi mavjud loyihani yuklamoqchi bo'lsangiz — beshinchi banddagi uchala faylni ham qo'shmang. Aks holda GitHub'da sizda yo'q commit paydo bo'ladi va birinchi push rad etiladi (Remote darsidagi «Birinchi push'dan oldin GitHub'da README yaratilgan» xatosi). Yangi, bo'sh loyihani esa aynan shu yerda README bilan boshlash qulay — keyin git clone qilasiz.
2.1 .gitignore shablonlari
.gitignore darsida aytilganidek, ro'yxatda tayyor shablonlar bor: Node, Python va boshqalar. Ular GitHub'ning ochiq github/gitignore to'plamidan olinadi. Node shablonining boshi:
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*Biz uni GitHub API'dan — dasturlar ma'lumot so'raydigan maxsus manzildan — o'qib oldik. Shablon uzun va ko'p qismi sizga kerak bo'lmaydi — shuning uchun kursda .gitignore ni o'zimiz, tushunib yozdik.
3. Public yoki private?
| Public | Private | |
|---|---|---|
| Kim ko'radi | Internetdagi hamma | Siz va taklif qilinganlar |
| Fork qilish (o'z akkauntiga nusxa olish) | Hamma | Faqat ruxsat bilan |
| Portfolio uchun | Ha | Ish beruvchi ko'rmaydi |
GitHub hujjati bir nechta muhim oqibatni sanaydi:
- Public repoda Actions tarixi va loglari ham hammaga ochiq.
- Repo'ni private qilsangiz, bepul tarifda GitHub Pages sayti avtomatik o'chadi. Portfolio'ingiz
login.github.iouchun bu juda muhim. - Private'dan public'ga o'tganda butun tarix — eski commitlar ham — ochiladi.
Ko'rinishni keyin o'zgartirish: Settings → pastdagi Danger Zone → Change visibility. GitHub bir necha marta tasdiqlashni so'raydi.
Diqqat: "Keyin private qilaman" degan reja ishlamaydi. Public bo'lgan paytda kimdir allaqachon nusxa olgan bo'lishi mumkin. Parol yoki token bir marta ochiq repoga tushdimi — uni bekor qiling (SSH kalit va autentifikatsiya darsidagi «Hujumchi nigohi»).
Portfolio, mashqlar, landing — public: ular ko'rsatish uchun. Shaxsiy qoralamalar — private.
4. README.md va GitHub Markdown
4.1 README'da nima bo'ladi?
GitHub hujjati README'da odatda shu savollarga javob berishni tavsiya qiladi:
- Loyiha nima qiladi?
- Nega u foydali?
- Qanday boshlash (o'rnatish, ishga tushirish) kerak?
- Yordamni qayerdan olish mumkin?
- Kim yozgan va kim qo'llab-quvvatlaydi?
GitHub README'ni uch joydan qidiradi: .github/ papkasi, repo ildizi va docs/ papkasi — shu tartibda. Odatda u ildizda turadi. Fayl nomi — README.md. .md — Markdown: oddiy matnni sarlavha, ro'yxat va havolaga aylantiradigan yozuv usuli. GitHub o'zining kengaytirilgan turini ishlatadi — GitHub Flavored Markdown (GFM).
4.2 Portfolio uchun README
Kompyuterda, kurs/portfolio ildizida README.md yaratamiz:
# Ismingiz — portfolio
Shaxsiy sayt: HTML va CSS bilan qurilgan, GitHub Pages'da
avtomatik joylanadi.
**Sayt:** https://login.github.io
## Ichida nima bor
- Bosh sahifa, «Men haqimda», «Loyihalar», «Aloqa»
- Loyiha kartalari: «Bahor» choyxonasi, landing
- Qorong'i rejim va moslashuvchan (responsive) dizayn
## Texnologiyalar
| Qism | Vosita |
|---|---|
| Tuzilma | HTML |
| Dizayn | CSS (tokenlar, qatlamlar) |
| Tekshiruv | html-validate, Stylelint, Prettier |
| Joylash | GitHub Pages + Actions |
## Lokal ishga tushirish
~~~bash
git clone https://github.com/login/login.github.io.git
cd login.github.io
npm install
npm run check
~~~
Sayt fayllari `sayt/` papkasida.
> [!NOTE]
> Bu — IlmHamroh kursidagi o'quv loyiham.
## Reja
- [x] HTML va CSS (04–06-qismlar)
- [x] Git va GitHub (07-qism)
- [ ] JavaScript (09-qism)
## Litsenziya
MIT — [LICENSE](LICENSE) faylida.Har bir belgi nima qiladi:
| Yozuv | Natija |
|---|---|
#, ## |
1- va 2-darajali sarlavha |
**matn** |
Qalin matn |
- band |
Ro'yxat |
[matn](manzil) |
Havola |
| a | b | |
Jadval |
~~~bash … ~~~ |
Rangli kod bloki |
- [x], - [ ] |
Belgilangan va bo'sh katakcha |
> [!NOTE] |
Rangli ogohlantirish bloki |
Kod bloki odatda uchta teskari tirnoq bilan ochiladi — xuddi shu kursdagidek. GitHub uchta ~ ni ham tushunadi; bu yerda shuni ishlatdik, chunki README'ni ko'rsatayotgan blokning o'zi teskari tirnoqli. Oxirgi ikkitasi — GFM qo'shimchalari. Ogohlantirish bloki GitHub hujjatiga ko'ra besh turda bo'ladi: NOTE, TIP, IMPORTANT, WARNING, CAUTION. Hujjat ularni kam ishlatishni maslahat beradi — bir sahifada bir-ikkita.
Rasm — havolaga o'xshash, oldida ! bilan: . Kvadrat qavsdagi matn — rasmning alt matni (Yaxshi alt matn darsidagi qoida bu yerda ham amal qiladi).
Nisbiy havolalar. [LICENSE](LICENSE) — repo ichidagi faylga nisbiy havola. GitHub hujjati shuni tavsiya qiladi: GitHub uni qaysi branchda bo'lsangiz, o'shanga moslaydi va repo nusxalarida ham ishlaydi. Repo ichidagi fayllarga to'liq https://github.com/... manzil bilan emas, nisbiy yo'l bilan havola qiling.
GitHub README'ni qanday tushunishini GitHub'ning Markdown API'si orqali tekshirdik. Natijada sarlavhalar, jadval, uchta katakcha (ikkitasi belgilangan) va markdown-alert-note bloki chiqdi — ya'ni hammasi to'g'ri chiziladi.
Maslahat: VS Code'da
README.mdochiq turgandaCtrl + Shift + V— Markdown ko'rinishi (preview). GFM'ning hamma qo'shimchasini ko'rsatmasligi mumkin, lekin sarlavha va ro'yxatlarni tekshirish uchun yetarli.
Commit va yuborish:
git add README.md
git commit -m "README: portfolio tavsifini qo'sh"
git push[main ad9808e] README: portfolio tavsifini qo'sh
1 file changed, 45 insertions(+)
create mode 100644 README.md
To https://github.com/login/login.github.io.git
61ed156..ad9808e main -> mainBiz buni sinov reposida bajardik; chiqishda repo nomi login/login.github.io ga almashtirilgan.
Hujjatdagi yana ikki fakt: README 500 KiB dan oshsa, GitHub qolganini kesib qo'yadi. Va sarlavhalardan mundarija o'zi yasaladi — chizilgan README'ning yuqori burchagidagi "Outline" tugmasi.
Tekshirib ko'ring: Nega README'dagi «Lokal ishga tushirish» bo'limi
npm installdan boshlanmaydi, avvalgit clonebor?
Javob
README'ni loyihani birinchi marta ko'rgan odam o'qiydi — uning kompyuterida hali hech narsa yo'q. Unga qadamlar boshidan kerak: reponi olish, papkaga kirish, bog'liqliklarni o'rnatish, tekshirish. Siz uchun ravshan bo'lgan narsa o'quvchi uchun ravshan emas.
5. LICENSE — kim nima qila oladi?
5.1 Litsenziyasiz repo — ochiq emas
Ko'pchilik o'ylaydi: "Repo public — demak, hamma kodimni olishi mumkin". GitHub hujjati boshqacha aytadi: litsenziya bo'lmasa, standart mualliflik huquqi amal qiladi. Ya'ni barcha huquqlar sizda va hech kim kodingizni nusxalab tarqata yoki undan o'z ishini yasay olmaydi. GitHub qoidalari bo'yicha boshqalar faqat ko'rishi va fork qilishi mumkin.
Litsenziya (license) — boshqalarga kodingizdan qanday foydalanish mumkinligini yozib qo'yadigan hujjat. Kvartirani ijaraga berishdagi shartnomani o'ylang: shartnomasiz hech kim kira olmaydi, shartnoma bilan — yozilgan shartlarda.
| Litsenziya | Qisqacha |
|---|---|
| MIT | Hamma narsa mumkin, faqat muallif nomi va litsenziya matni saqlansin |
| Apache-2.0 | MIT kabi, qo'shimcha ravishda patentlar haqida band bor |
| GPL-3.0 | Kodingizdan foydalangan dastur ham ochiq bo'lishi shart |
Tanlashda yordam beradigan sayt — choosealicense.com (uni GitHub yaratgan). Portfolio va o'quv loyihalari uchun eng keng tarqalgan tanlov — MIT: qisqa va tushunarli.
5.2 LICENSE qo'shish — GitHub'da
Litsenziya matnini qo'lda yozmaysiz: GitHub tayyor shablon beradi. Tartib (docs.github.com, 2026-yil sentyabr holati):
- Repo bosh sahifasida, fayllar ro'yxati ustida → Add file → Create new file.
- Fayl nomi maydoniga
LICENSE(katta harflar bilan). - Nom ostida paydo bo'lgan Choose a license template tugmasi.
- Chapdagi ro'yxatdan MIT License. Yil va ismingizni tekshiring.
- Review and submit → Commit changes...
- Xabar:
LICENSE: MIT litsenziyasini qo'sh, to'g'ridan-to'g'rimainga → Commit changes.
Endi GitHub'da sizning kompyuteringizda yo'q commit bor. Oldingi darsni eslang — push'dan oldin pull:
git pull
git log --oneline -3From https://github.com/login/login.github.io
ad9808e..c70c84c main -> origin/main
Updating ad9808e..c70c84c
Fast-forward
LICENSE | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100644 LICENSE
c70c84c (HEAD -> main, origin/main, origin/HEAD) LICENSE: MIT litsenziyasini qo'sh
ad9808e README: portfolio tavsifini qo'sh
61ed156 Deploy: sayt/ ni Pages'ga yuklaydigan workflow qo'shLokal commit yo'q edi — fast-forward. Fayl boshi:
MIT License
Copyright (c) 2026 Aziz Karimov
Permission is hereby granted, free of charge, to any person obtaining a copyGitHub litsenziyani o'zi taniydi va About blokida "MIT license" deb ko'rsatadi. Sinov reposida GitHub API ham "license":"MIT" deb javob berdi.
Tekshirib ko'ring: Malika portfolio saytida o'z fotosuratlarini ishlatgan va repoga MIT litsenziyasini qo'ydi. Endi har kim uning fotolarini olishi mumkinmi?
Javob
Litsenziya repo'dagi narsaga tegishli. Agar u faqat kodga tegishli bo'lishini istasa, README'da aniq yozib qo'yishi kerak: masalan, "Kod — MIT; matnlar va fotosuratlar — mualliflik huquqi bilan himoyalangan". Aks holda repo'dagi hamma narsa MIT ostida deb tushunilishi mumkin. Shaxsiy fotolarni umuman ochiq repoga qo'ymaslik ham bir yo'l.
6. About: tavsif, sayt va topics
O'ng tomondagi About — repo'ning "pasporti". Uni to'ldirish: About yozuvi yonidagi tishli g'ildirak belgisi. Oynada:
- Description — bir gaplik tavsif:
Shaxsiy portfolio sayt: HTML, CSS, GitHub Pages. - Website — sayt havolasi:
https://login.github.io. - Topics — mavzu teglari.
Topics — repo'ni mavzu bo'yicha toptiradigan teglar. Topic'ni bosganingizda GitHub o'sha mavzudagi boshqa repolarni ko'rsatadi. GitHub hujjatidagi qoidalar: faqat kichik harflar, raqamlar va -; har biri 50 belgigacha; jami 20 tagacha. Portfolio uchun: portfolio, html, css, github-pages.
Biz sinov reposida bu maydonlarni to'ldirib, natijani GitHub API orqali o'qidik:
{"default_branch":"main","description":"Shaxsiy portfolio sayt: HTML, CSS, GitHub Pages","homepage":"https://login.github.io","license":"MIT","topics":["css","github-pages","html","portfolio"],"visibility":"public"}(Bu chiqishda sayt manzilini ham login ga almashtirdik.) homepage — Website maydoni. Topics alifbo tartibida saqlandi. Biz buni gh buyrug'i bilan qildik — uni keyinroq o'rganasiz, hozir brauzerdagi oyna yetarli.
Yana bir bezak — Social preview: havola Telegram yoki boshqa ijtimoiy tarmoqqa tashlanganda chiqadigan rasm. U Settings sahifasida, docs.github.com dagi "Customizing your repository's social media preview" bo'yicha yuklanadi.
7. Settings: muhim sozlamalar
Settings tabi faqat repo egasi va admin huquqli odamlarga ko'rinadi.
7.1 Repo nomini o'zgartirish
Settings → Repository name → yangi nom → Rename. GitHub hujjati bo'yicha eski manzil yangisiga yo'naltiriladi — git push va git pull ham ishlayveradi. Lekin baribir lokal nusxani yangilash tavsiya qilinadi: git remote set-url origin <yangi>.
Istisno — loyiha saytlarining Pages manzili yo'naltirilmaydi. login.github.io nomini esa umuman o'zgartirmang: Pages shaxsiy saytni aynan shu nom orqali taniydi.
7.2 Asosiy branch nomi: master → main
Branch nima darsida lokal master ni main ga aylantirgan edik va "GitHub'dagi nomni ham o'zgartirish kerak" degan edik. Tartib (docs.github.com):
- Repo bosh sahifasi → chapdagi fayl daraxtida branch ro'yxati → View all branches.
masterqatoridagi menyu → Rename branch.- Yangi nom
main→ Rename branch.
GitHub ochiq PR'larni (Pull Request — o'zgarishni qo'shish so'rovi, keyingi darsda) va himoya qoidalarini o'zi yangilaydi. Har kimning kompyuteridagi nusxa esa o'zgarmaydi. Hujjat ular uchun to'rt buyruq beradi. Biz ularni lokal "GitHub" (bare repo) bilan sinadik. Nom o'zgargach, avval oddiy fetch:
git fetch
git statusFrom C:/Users/.../github/eski
* [new branch] main -> origin/main
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree cleanYangi main keldi, lekin lokal master hali eski origin/master ni kuzatyapti — u yo'qolganini Git bilmaydi. Hujjatdagi buyruqlar:
git branch -m master main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a
git remote prune originbranch 'main' set up to track 'origin/main'.
'origin/HEAD' is unchanged and points to 'main'
Pruning origin
URL: C:/Users/.../github/eski.git
* [pruned] origin/masterQatorma-qator: lokal branch nomi o'zgardi; -u — yangi upstream (Ajralgan tarix darsidagi buyruq); set-head — origin/HEAD ni GitHub'dagi asosiy branchga qaratdi (bizda fetch uni allaqachon to'g'rilagan edi); prune — eski origin/master ni tozaladi.
7.3 Collaborators — hamkorlar
Shaxsiy repoga boshqa odamga yozish huquqini berish. Masalan, «Bahor» reposida Malika ham ishlaydigan bo'ldi — Aziz uni login/bahor ga qo'shadi (docs.github.com):
- Settings → chap menyuning Access bo'limida → Collaborators.
- Add people → Malikaning loginini yozib, ro'yxatdan uni tanlaysiz.
- Add NAME to REPOSITORY.
Malikaga email bilan taklif boradi. U qabul qilgach, repoga push qila oladi. Faqat ishongan odamni qo'shing: hamkor ham --force qila oladi (Ajralgan tarix). Hamkor bo'lmagan odamlar ham hissa qo'sha oladi — fork va Pull Request orqali (Fork va upstream).
7.4 Danger Zone
Settings sahifasining eng pastidagi bo'lim. Unda qaytarish qiyin bo'lgan amallar turadi: ko'rinishni o'zgartirish, repo'ni boshqa egaga o'tkazish, arxivlash va o'chirish. Har biri qo'shimcha tasdiq so'raydi. Bu bo'limdagi tugmani bosishdan oldin ikki marta o'ylang.
8. Hujumchi nigohi
Public repo — hamma uchun ochiq kitob. Hujumchi unda nimani qidiradi?
- Sirlar —
.env, tokenlar, kalitlar. Ular eski commitlarda ham qidiriladi. Himoya —.gitignorevagit add .dan keyingit status -s(.gitignore). - Email manzillar — har commitda muallif emaili bor va public repoda ko'rinadi. GitHub'da Settings → Emails → Keep my email addresses private — veb orqali qilingan commitlar uchun maxsus
noreplymanzil ishlatiladi. Kompyuterdagi commitlar uchun esagit config user.emailga o'shanoreplymanzilni yozish mumkin (GitHub hujjati, "Setting your commit email address"). - Actions loglari — public repoda ular ham ochiq. Logga sir chiqmasligi kerak — buni GitHub Actions darsida ko'rasiz.
- Ortiqcha hamkorlar — kimga yozish huquqi berganingizni vaqti-vaqti bilan tekshiring va keraksizini olib tashlang.
9. Ko'p uchraydigan xatolar
9.1 README ko'rinmayapti
Fayl nomi readme.txt, Readme.MD.txt yoki u sayt/ ichida. Nom — README.md, joyi — ildiz (yoki .github/, docs/).
9.2 GitHub'da LICENSE yaratdim, push rad etildi
Push'dan oldin git pull unutilgan. GitHub'dagi har o'zgarishdan keyin — git pull (Ajralgan tarix).
9.3 README'dagi rasm chiqmaydi
Yo'l C:\Users\... yoki /sayt/... bilan yozilgan. Repo ildizidan nisbiy yo'l yozing va katta-kichik harfni tekshiring: GitHub'da Ekran.PNG va ekran.png — boshqa-boshqa fayllar.
9.4 Mavjud loyiha uchun repo README bilan yaratildi
«Repo yaratish» bo'limidagi qoida buzilgan. Yechim — Remote darsidagi tartib: git fetch, README'ni ko'chirish, --force-with-lease. Yoki README'ni GitHub'da qoldirib, git pull --rebase bilan o'z commitlaringizni uning ustiga terish — agar fayllar to'qnashmasa, eng sodda yo'l shu.
9.5 Pages yo'qoldi
Repo private qilingan (bepul tarifda Pages o'chadi) yoki login.github.io nomi o'zgartirilgan. Ikkalasini qaytaring.
10. Mashqlar
1-mashq (oson): Qayerga yoziladi?
Har bir ma'lumot README, LICENSE, About yoki Settings'ga tegishlimi?
- "Loyihani ishga tushirish uchun
npm installvanpm run check" - "Boshqalar kodni muallif nomini saqlagan holda ishlatishi mumkin"
- Sayt havolasi va
portfolio,cssteglari - Malikaga «Bahor» repo'siga push huquqini berish
- Repo'ni private qilish
Yechim
- README — "qanday boshlash" bo'limi.
- LICENSE (MIT shartlari).
- About — Website va Topics.
- Settings → Collaborators.
- Settings → Danger Zone → Change visibility. Portfolio uchun buni qilmang — Pages o'chadi.
2-mashq (o'rta): Bo'sh joylarni to'ldiring
«Bahor» reposi uchun README parchasi:
[___:#] Bahor choyxonasi
Toshkentdagi choyxona sayti. Ish vaqti: 7:00–23:00.
[___:##] Menyu
- Osh — 35 000 so'm
- Lag'mon — 28 000 so'm
[Bron qilish]()
- [[___:x]] Menyu sahifasi
- [ ] Onlayn bronIshora: «Portfolio uchun README» bo'limidagi jadval. Havola — repo ichidagi faylga nisbiy yo'l.
Yechim
# Bahor choyxonasi
Toshkentdagi choyxona sayti. Ish vaqti: 7:00–23:00.
## Menyu
- Osh — 35 000 so'm
- Lag'mon — 28 000 so'm
[Bron qilish](bron/index.html)
- [x] Menyu sahifasi
- [ ] Onlayn bron# — loyiha nomi (bitta), ## — bo'limlar. bron/index.html — nisbiy havola: GitHub uni repo'dagi faylga olib boradi. [x] — bajarilgan vazifa.
3-mashq (qiyin): Repo auditi
Sardor mening-proyekt nomli public repo ochdi. Unda: README yo'q; ildizda .env (ichida TOKEN=...), node_modules/ va index.html; litsenziya yo'q; About bo'sh; asosiy branch master. Sardor uni rezyumesiga qo'ymoqchi.
Muammolar ro'yxatini tuzing va har biri uchun nima qilishni yozing. Eng shoshilinchidan boshlang.
Ishora: «Hujumchi nigohi», «Repo yaratish», .gitignore va «Asosiy branch nomi» bo'limlari.
Yechim
.envva token — eng shoshilinch. Tokenni darhol GitHub'da (yoki qayerdan olingan bo'lsa, o'sha joyda) bekor qilish. Keyin.envni.gitignorega qo'shib,git rm --cached .envbilan kuzatuvdan chiqarish. Fayl tarixda qoladi — shuning uchun bekor qilish birinchi qadam.node_modules/—.gitignorega qo'shib,git rm -r --cached node_modulesva commit.- README — loyiha nima, qanday ishga tushiriladi, sayt havolasi.
- LICENSE — Add file → Create new file →
LICENSE→ MIT, keyin lokalgit pull. - About — tavsif, sayt, 3–5 ta topic.
- Nom —
mening-proyekthech narsa demaydi. Mazmunli nom: masalankassa-hisobot. Settings → Rename, keyingit remote set-url. master→main— ixtiyoriy, lekin bugungi standart. GitHub'da Rename branch va lokal to'rt buyruq.
4-mashq: Portfolio qadami — vitrinani bezang
kurs/portfolioildizidaREADME.mdyozing: nima, sayt havolasi, texnologiyalar jadvali, lokal ishga tushirish, reja (katakchalar bilan). Commit:README: portfolio tavsifini qo'sh, keyingit push.- GitHub'da
LICENSEqo'shing (MIT, o'z ismingiz bilan), keyin kompyuterdagit pull. - About: tavsif, Website (
https://login.github.io), 3–4 topic. - Tag va relizlar darsida qo'ygan
v1.0.0tagingiz endi GitHub'da. O'sha darsdagi tartib bilan undan Release yarating: sarlavhaPortfolio v1: HTML va CSS, izohga 2–3 qator. mashqlarrepo'ga ham qisqa README yozing: "IlmHamroh kursi mashqlari, har qism o'z papkasida". Javoblar:07/28-github-asoslari/javoblar.md— 3-mashq ro'yxati. Commit:07/28: GitHub asoslari javoblarini qo'sh,git push.
Yechim
cd ~/kurs/portfolio
code README.md
git add README.md
git commit -m "README: portfolio tavsifini qo'sh"
git push
# GitHub: Add file → Create new file → LICENSE → MIT
git pull
git log --oneline -3README namunasi — «Portfolio uchun README» bo'limida. git pull chiqishida Fast-forward va create mode 100644 LICENSE bo'ladi. Repo sahifasini yangilang: o'ngda tavsif, sayt havolasi, topics va "MIT license"; pastda chizilgan README.
Release: repo sahifasida Releases → Draft a new release → Choose a tag dan v1.0.0 → sarlavha va izoh → Publish release. GitHub tag paytidagi holatning zip va tar.gz arxivlarini o'zi qo'shadi.
mashqlar:
cd ~/kurs/mashqlar
code README.md
mkdir -p 07/28-github-asoslari
code 07/28-github-asoslari/javoblar.md
git add README.md 07/28-github-asoslari
git commit -m "07/28: GitHub asoslari javoblarini qo'sh"
git pushPush'dan keyin portfolio'da Pages workflow'i yana ishga tushadi — README va LICENSE sayt/ dan tashqarida, shuning uchun saytning o'zi o'zgarmaydi va ular internetga chiqmaydi.
11. Real ishda
- Ish beruvchi GitHub'ga qaraydi. Yaxshi README, ishlayotgan sayt havolasi va toza tarix — "bu odam ishini oxirigacha yetkazadi" degan signal. Kurs oxirida eng yaxshi loyihalaringiz uchun README'larni yana boyitasiz.
- Ochiq kodli loyihalarda README, LICENSE,
CONTRIBUTING.md— birinchi o'qiladigan fayllar. Litsenziyasiz kutubxonani kompaniyalar ishlata olmaydi. - Kompaniyada repolar odatda private va tashkilot ichida. Kim nima qila olishi — rollar va branch himoyasi bilan boshqariladi (Branch himoyasi).
- Intervyuda: "Litsenziyasiz public repodagi kodni ishlatsa bo'ladimi?" (yo'q), "README'ga nima yozasiz?" — bu darsning ikki savoli.
Xulosa
- GitHub — Git repolari uchun hosting va hamkorlik platformasi; repo sahifasi — loyihangiz vitrinasi.
- Mavjud loyiha uchun repo bo'sh yaratiladi; yangi loyiha uchun — README bilan, keyin clone.
- Public — hammaga ochiq (Actions loglari ham); bepul tarifda private repo'da Pages o'chadi.
README.md— GitHub Markdown: sarlavha, ro'yxat, jadval, kod,- [x],> [!NOTE], nisbiy havolalar.- Litsenziyasiz kod — "barcha huquqlar himoyalangan"; portfolio uchun odatda MIT. GitHub'da qo'shilgach —
git pull. - About (tavsif, sayt, topics), Settings (nom,
main, collaborators, Danger Zone).
Keyingi dars: Pull Request: yaratish, muhokama, merge — o'zgarishni to'g'ridan-to'g'ri main ga emas, muhokama va tekshiruv orqali qo'shishni o'rganamiz.
Manbalar
- GitHub Docs: "Creating a new repository", "About repositories", "Setting repository visibility", "Renaming a repository" — docs.github.com/repositories
- GitHub Docs: "About the repository README file", "Basic writing and formatting syntax" — docs.github.com
- GitHub Docs: "Licensing a repository", "Adding a license to a repository", "Classifying your repository with topics" — docs.github.com
- GitHub Docs: "Renaming a branch", "Inviting collaborators to a personal repository", "Setting your commit email address" — docs.github.com
- choosealicense.com — litsenziya tanlash bo'yicha qo'llanma
Izohlar (0)
Izoh yozish uchun kiring.
- Hozircha izoh yo'q. Birinchi bo'ling!