IlmHamroh
JavaScript Full-stack/7-qism. Git va GitHub asoslari28/36-dars18 daqiqa
Mundarija (32)

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:

  1. Owner — kimning nomidan (sizning akkauntingiz yoki tashkilot).
  2. 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 loyiha emas, oquv-loyiha.
  3. Description — ixtiyoriy, bir gaplik tavsif. Keyin About'da o'zgartirasiz.
  4. Visibility — Public yoki Private (keyingi bo'lim).
  5. Uchta ixtiyoriy fayl: Add README (yoqib-o'chiriladigan tugma), .gitignore shabloni va license (litsenziya).
  6. 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:

text
# 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.io uchun 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:

markdown
# 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: ![Bosh sahifa](sayt/assets/images/ekran.png). 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.md ochiq turganda Ctrl + 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:

bash
git add README.md
git commit -m "README: portfolio tavsifini qo'sh"
git push
text
[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 -> main

Biz 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 install dan boshlanmaydi, avval git clone bor?

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):

  1. Repo bosh sahifasida, fayllar ro'yxati ustida → Add file → Create new file.
  2. Fayl nomi maydoniga LICENSE (katta harflar bilan).
  3. Nom ostida paydo bo'lgan Choose a license template tugmasi.
  4. Chapdagi ro'yxatdan MIT License. Yil va ismingizni tekshiring.
  5. Review and submit → Commit changes...
  6. Xabar: LICENSE: MIT litsenziyasini qo'sh, to'g'ridan-to'g'ri main ga → Commit changes.

Endi GitHub'da sizning kompyuteringizda yo'q commit bor. Oldingi darsni eslang — push'dan oldin pull:

bash
git pull
git log --oneline -3
text
From 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'sh

Lokal commit yo'q edi — fast-forward. Fayl boshi:

text
MIT License

Copyright (c) 2026 Aziz Karimov

Permission is hereby granted, free of charge, to any person obtaining a copy

GitHub 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:

text
{"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):

  1. Repo bosh sahifasi → chapdagi fayl daraxtida branch ro'yxati → View all branches.
  2. master qatoridagi menyu → Rename branch.
  3. 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:

bash
git fetch
git status
text
From 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 clean

Yangi main keldi, lekin lokal master hali eski origin/master ni kuzatyapti — u yo'qolganini Git bilmaydi. Hujjatdagi buyruqlar:

bash
git branch -m master main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a
git remote prune origin
text
branch '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/master

Qatorma-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):

  1. Settings → chap menyuning Access bo'limida → Collaborators.
  2. Add people → Malikaning loginini yozib, ro'yxatdan uni tanlaysiz.
  3. 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 — .gitignore va git add . dan keyin git 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 noreply manzil ishlatiladi. Kompyuterdagi commitlar uchun esa git config user.email ga o'sha noreply manzilni 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?

  1. "Loyihani ishga tushirish uchun npm install va npm run check"
  2. "Boshqalar kodni muallif nomini saqlagan holda ishlatishi mumkin"
  3. Sayt havolasi va portfolio, css teglari
  4. Malikaga «Bahor» repo'siga push huquqini berish
  5. Repo'ni private qilish
Yechim
  1. README — "qanday boshlash" bo'limi.
  2. LICENSE (MIT shartlari).
  3. About — Website va Topics.
  4. Settings → Collaborators.
  5. 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:

markdown
[___:#] 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 bron

Ishora: «Portfolio uchun README» bo'limidagi jadval. Havola — repo ichidagi faylga nisbiy yo'l.

Yechim
markdown
# 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
  1. .env va token — eng shoshilinch. Tokenni darhol GitHub'da (yoki qayerdan olingan bo'lsa, o'sha joyda) bekor qilish. Keyin .env ni .gitignore ga qo'shib, git rm --cached .env bilan kuzatuvdan chiqarish. Fayl tarixda qoladi — shuning uchun bekor qilish birinchi qadam.
  2. node_modules/ — .gitignore ga qo'shib, git rm -r --cached node_modules va commit.
  3. README — loyiha nima, qanday ishga tushiriladi, sayt havolasi.
  4. LICENSE — Add file → Create new file → LICENSE → MIT, keyin lokal git pull.
  5. About — tavsif, sayt, 3–5 ta topic.
  6. Nom — mening-proyekt hech narsa demaydi. Mazmunli nom: masalan kassa-hisobot. Settings → Rename, keyin git remote set-url.
  7. master → main — ixtiyoriy, lekin bugungi standart. GitHub'da Rename branch va lokal to'rt buyruq.

4-mashq: Portfolio qadami — vitrinani bezang

  1. kurs/portfolio ildizida README.md yozing: nima, sayt havolasi, texnologiyalar jadvali, lokal ishga tushirish, reja (katakchalar bilan). Commit: README: portfolio tavsifini qo'sh, keyin git push.
  2. GitHub'da LICENSE qo'shing (MIT, o'z ismingiz bilan), keyin kompyuterda git pull.
  3. About: tavsif, Website (https://login.github.io), 3–4 topic.
  4. Tag va relizlar darsida qo'ygan v1.0.0 tagingiz endi GitHub'da. O'sha darsdagi tartib bilan undan Release yarating: sarlavha Portfolio v1: HTML va CSS, izohga 2–3 qator.
  5. mashqlar repo'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
bash
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 -3

README 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:

bash
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 push

Push'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
Ulashish:Telegram'da

Izohlar (0)

Izoh yozish uchun kiring.

  • Hozircha izoh yo'q. Birinchi bo'ling!
GitHub repo: README, LICENSE, topics va sozlamalar — loyihani professional ochish — IlmHamroh