Bosh sahifa Wiki GitHub

GitHub

GitHubGit repositorylarni internetda saqlash, boshqarish va jamoa bilan ishlash uchun ishlatiladigan platforma. GitHub yordamida dasturchilar kodni remote repositoryga yuklaydi, o‘zgarishlarni kuzatadi, pull request ochadi, code review qiladi va loyihani jamoaviy tarzda rivojlantiradi.

GitHub Git asosida ishlaydi, lekin faqat kod saqlash bilan cheklanmaydi. Unda issue, pull request, action, wiki, project board, release, package va boshqa ishlab chiqish vositalari ham mavjud.

Vazifasi

GitHub dasturiy loyihalarni internet orqali boshqarish va jamoaviy ishlash uchun ishlatiladi.

GitHub quyidagi vazifalarni bajaradi:

  • Git repositorylarni remote serverda saqlash;
  • kod o‘zgarishlarini jamoa bilan almashish;
  • pull request orqali o‘zgarishlarni muhokama qilish;
  • code review qilish;
  • issue orqali vazifalar va xatoliklarni yuritish;
  • CI/CD jarayonlarini avtomatlashtirish;
  • open-source loyihalarni rivojlantirish;
  • release versiyalarini chiqarish;
  • dokumentatsiya va wiki yuritish;
  • jamoa a’zolari huquqlarini boshqarish.

Masalan, dasturchi lokal kompyuterda yozgan kodini GitHub repositoryga git push orqali yuboradi.

GitHub qanday ishlaydi?

GitHub remote repository sifatida ishlaydi. Dasturchi kompyuterida local repository bo‘ladi, GitHub’da esa shu loyihaning masofaviy nusxasi saqlanadi.

Oddiy jarayon:

  • dasturchi local repositoryda kod yozadi;
  • o‘zgarishlarni commit qiladi;
  • commitlarni GitHub’ga push qiladi;
  • boshqa dasturchilar bu o‘zgarishlarni pull qiladi;
  • yangi funksiya uchun branch ochiladi;
  • pull request orqali o‘zgarish muhokama qilinadi;
  • code reviewdan keyin branch asosiy branchga merge qilinadi.

GitHub shu jarayonni web interfeys, ruxsatlar, tarix, muhokama va avtomatlashtirish vositalari bilan qulaylashtiradi.

Repository

Repository — GitHub’da loyiha kodi, fayllari va Git tarixi saqlanadigan joy. Har bir repository alohida loyiha yoki loyiha qismini ifodalaydi.

Repository ichida quyidagilar bo‘lishi mumkin:

Repository public yoki private bo‘lishi mumkin.

Public repository

Public repository — hamma ko‘ra oladigan ochiq repository. Ochiq kodli loyihalar ko‘pincha public repository sifatida yuritiladi.

Public repository’da odatda quyidagilar ochiq bo‘ladi:

Open-source loyihalar GitHub’da public repository orqali rivojlanadi.

Private repository

Private repository — faqat ruxsat berilgan foydalanuvchilar ko‘ra oladigan repository. Kompaniya, shaxsiy loyiha yoki yopiq tijoriy kodlar private repository’da saqlanishi mumkin.

Private repository’da quyidagilar cheklangan bo‘ladi:

  • kodni ko‘rish;
  • commit tarixini ko‘rish;
  • issue va pull requestlarga kirish;
  • branchlarga kirish;
  • repository sozlamalarini boshqarish;
  • deploy kalitlari va secretlar.

Private repository jamoa ichidagi yopiq loyihalar uchun ishlatiladi.

README

READMErepository haqida asosiy ma’lumot beradigan fayl. GitHub’da README odatda repository bosh sahifasida ko‘rinadi.

README ichida quyidagilar bo‘lishi mumkin:

  • loyiha nomi;
  • qisqa tavsif;
  • o‘rnatish qo‘llanmasi;
  • ishga tushirish buyruqlari;
  • konfiguratsiya;
  • foydalanish misollari;
  • texnologiyalar ro‘yxati;
  • muallif yoki jamoa ma’lumoti;
  • litsenziya;
  • hissa qo‘shish qoidalari.

README ko‘pincha Markdown formatida yoziladi.

Branch

GitHub’da branch alohida ish yo‘nalishini bildiradi. Branch orqali asosiy kodga ta’sir qilmasdan yangi funksiya yoki tuzatish ustida ishlash mumkin.

Branch ishlatiladigan holatlar:

  • yangi feature yaratish;
  • bug fix qilish;
  • hotfix tayyorlash;
  • release branch yuritish;
  • tajriba kod yozish;
  • jamoa a’zolarining alohida ishlashi.

Masalan, main asosiy branch bo‘lsa, feature/auth branchida login tizimi ishlab chiqilishi mumkin.

Pull request

Pull request — bir branchdagi o‘zgarishlarni boshqa branchga qo‘shishdan oldin ko‘rib chiqish va muhokama qilish jarayoni.

Pull request ichida quyidagilar bo‘lishi mumkin:

  • o‘zgargan fayllar;
  • commitlar ro‘yxati;
  • izohlar;
  • code review;
  • test natijalari;
  • CI/CD tekshiruvlari;
  • merge holati;
  • reviewerlar.

Masalan, dasturchi feature/profile branchidagi o‘zgarishlarni main branchga qo‘shish uchun pull request ochadi.

Code review

Code reviewpull requestdagi kodni boshqa dasturchilar tomonidan ko‘rib chiqish jarayoni.

Code review’da quyidagilar tekshiriladi:

  • kod sifati;
  • xatoliklar;
  • arxitektura;
  • naming;
  • xavfsizlik;
  • testlar;
  • performance;
  • loyiha standartlariga moslik.

GitHub’da reviewerlar kod satrlariga izoh yozishi, o‘zgarish so‘rashi yoki pull requestni tasdiqlashi mumkin.

Issue

Issue — loyiha ichidagi vazifa, xatolik, taklif yoki muhokamani yuritish uchun ishlatiladigan GitHub elementi.

Issue quyidagi maqsadlarda ishlatiladi:

  • bug report;
  • yangi feature taklifi;
  • texnik vazifa;
  • savol;
  • dokumentatsiya muammosi;
  • refactoring vazifasi;
  • dizayn yoki UI muhokamasi.

Issue’larda title, description, label, assignee, milestone va kommentlar bo‘lishi mumkin.

Label

Labelissue yoki pull requestlarni turkumlash uchun ishlatiladigan belgi.

Keng uchraydigan label turlari:

  • bug;
  • feature;
  • documentation;
  • enhancement;
  • question;
  • good first issue;
  • help wanted;
  • priority high;
  • frontend;
  • backend.

Label yordamida repository ichidagi vazifalarni tartibli boshqarish mumkin.

Assignee

Assigneeissue yoki pull request uchun mas’ul foydalanuvchi. Assignee orqali vazifa kimga biriktirilgani ko‘rsatiladi.

Assignee quyidagi holatlarda ishlatiladi:

  • vazifani dasturchiga berish;
  • bug tuzatishni mas’ulga topshirish;
  • code review mas’ulini ko‘rsatish;
  • jamoa ichida ish taqsimotini yuritish.

GitHub’da bir issue yoki pull requestga bir nechta assignee biriktirilishi mumkin.

Milestone

Milestoneissue va pull requestlarni ma’lum versiya, bosqich yoki muddat ostida guruhlash uchun ishlatiladi.

Milestone quyidagi maqsadlarda ishlatiladi:

  • release tayyorlash;
  • sprint vazifalarini guruhlash;
  • loyiha bosqichini ajratish;
  • roadmap elementlarini yuritish;
  • ma’lum muddatdagi ishlarni kuzatish.

Masalan, v1.0 milestone ichida birinchi release uchun kerakli issue va pull requestlar jamlanishi mumkin.

GitHub Actions

GitHub Actions — GitHub ichida CI/CD va avtomatlashtirish jarayonlarini yaratish uchun ishlatiladigan xizmat.

GitHub Actions orqali quyidagilar bajarilishi mumkin:

  • testlarni avtomatik ishga tushirish;
  • kodni build qilish;
  • lint tekshiruvlarini bajarish;
  • Docker image yaratish;
  • serverga deploy qilish;
  • release yaratish;
  • cron asosida task ishga tushirish;
  • package publish qilish.

GitHub Actions workflow fayllari odatda .github/workflows papkasida saqlanadi.

Workflow

WorkflowGitHub Actions’da avtomatlashtirilgan jarayonni bildiradi. Workflow YAML fayl orqali yoziladi va ma’lum hodisa bo‘lganda ishga tushadi.

Workflow ishga tushadigan hodisalar:

Masalan, main branchga push bo‘lganda testlar ishga tushishi va deploy bajarilishi mumkin.

CI/CD

GitHub CI/CD jarayonlarini avtomatlashtirish uchun keng ishlatiladi. CI kod o‘zgarishlarini tekshirish, CD esa tayyor kodni deploy qilish bilan bog‘liq.

GitHub’da CI/CD quyidagilarni o‘z ichiga olishi mumkin:

GitHub Actions bu jarayonlarni repository ichidan boshqarishga imkon beradi.

Release

Release — loyiha kodining ma’lum bir tayyor versiyasi. GitHub release odatda tag bilan bog‘lanadi va foydalanuvchilarga versiya haqida ma’lumot beradi.

Release ichida quyidagilar bo‘lishi mumkin:

Masalan, v1.0.0 loyihaning birinchi barqaror release versiyasi bo‘lishi mumkin.

Tag

TagGit tarixidagi ma’lum commitga nom berish uchun ishlatiladi. GitHub’da taglar release versiyalar bilan bog‘lanishi mumkin.

Tag misollari:

  • v1.0.0;
  • v1.2.3;
  • beta-1;
  • stable;
  • release-2026-07.

Taglar loyiha versiyalarini belgilash va tarixdagi muhim nuqtalarni ko‘rsatish uchun ishlatiladi.

Fork

Fork — boshqa foydalanuvchining repositorysidan o‘z hisobingizga nusxa olish jarayoni. Fork ko‘pincha open-source loyihalarga hissa qo‘shishda ishlatiladi.

Fork orqali quyidagilar bajariladi:

  • loyiha nusxasini olish;
  • o‘z branchingizda o‘zgartirish qilish;
  • original repositoryga pull request yuborish;
  • tajriba qilish;
  • mustaqil variant yaratish.

Masalan, open-source kutubxonaga tuzatish kiritish uchun avval repository fork qilinadi.

Star

Star — GitHub’da repositoryni belgilab qo‘yish va unga qiziqish bildirish belgisi.

Star quyidagi maqsadlarda ishlatiladi:

  • repositoryni keyinroq topish;
  • loyiha ommabopligini ko‘rsatish;
  • open-source loyihaga qiziqish bildirish;
  • foydali kutubxonalarni saqlab qo‘yish.

Ko‘p star olgan repository odatda ko‘proq e’tibor va foydalanuvchiga ega bo‘ladi.

Watch

Watch — repositorydagi yangiliklar haqida bildirishnoma olish funksiyasi.

Watch orqali foydalanuvchi quyidagi hodisalarni kuzatishi mumkin:

Watch funksiyasi muhim loyihalarni kuzatib borishda ishlatiladi.

GitHub Pages

GitHub Pages — statik saytlarni GitHub repositorydan bepul joylash imkonini beradigan xizmat.

GitHub Pages orqali quyidagilar joylanishi mumkin:

GitHub Pages odatda username.github.io yoki custom domen orqali ishlashi mumkin.

GitHub Wiki

GitHub Wikirepository uchun alohida dokumentatsiya sahifalarini yuritish imkoniyati. Wiki loyiha haqida batafsil ma’lumot, qo‘llanma, API izohi yoki texnik hujjatlar uchun ishlatiladi.

GitHub Wiki’da quyidagilar bo‘lishi mumkin:

  • o‘rnatish qo‘llanmasi;
  • foydalanish qoidalari;
  • arxitektura izohi;
  • API dokumentatsiyasi;
  • savol-javoblar;
  • ishlab chiqish jarayoni;
  • texnik qarorlar.

Wiki repository kodidan alohida hujjat qatlamini yaratadi.

GitHub Projects

GitHub Projects — vazifalar, issue’lar va pull requestlarni loyiha boshqaruvi ko‘rinishida tartiblash uchun ishlatiladi.

GitHub Projects quyidagi ko‘rinishlarda ishlatilishi mumkin:

  • kanban board;
  • roadmap;
  • sprint board;
  • backlog;
  • release plan;
  • bug tracking;
  • task statuslari.

Project board’da vazifalar Todo, In Progress, Review, Done kabi ustunlarga ajratilishi mumkin.

GitHub Packages

GitHub Packagespackage va container image’larni GitHub ichida saqlash uchun ishlatiladigan xizmat.

GitHub Packages quyidagilarni saqlashi mumkin:

Bu xizmat kod repositorysi bilan bog‘langan holda package distribution qilish imkonini beradi.

Secrets

Secrets — GitHub’da maxfiy qiymatlarni xavfsiz saqlash uchun ishlatiladigan sozlama. Secrets odatda GitHub Actions workflow ichida ishlatiladi.

Secrets ichida quyidagilar bo‘lishi mumkin:

Secrets kod ichida ochiq yozilmaydi. Workflow ularni kerakli paytda environment variable sifatida ishlatishi mumkin.

Collaborator

Collaborator — repositoryda ishlash huquqiga ega foydalanuvchi. Collaborator repositoryga commit qilish, issue yuritish, pull request ko‘rish yoki sozlamalarni boshqarish huquqiga ega bo‘lishi mumkin.

GitHub’da ruxsat darajalari:

  • read;
  • triage;
  • write;
  • maintain;
  • admin.

Ruxsat darajasi foydalanuvchi repository ichida nimalar qila olishini belgilaydi.

Organization

Organization — GitHub’da jamoa, kompaniya yoki loyiha guruhi uchun yaratiladigan umumiy hisob turi. Organization ichida bir nechta repository, team va permissionlar boshqariladi.

Organization quyidagi holatlarda ishlatiladi:

  • kompaniya loyihalari;
  • open-source jamoa;
  • community repositorylar;
  • o‘quv markazi loyihalari;
  • mahsulotlar guruhi;
  • DevOps va infratuzilma repositorylari.

Organization ichida foydalanuvchilar teamlarga ajratilishi mumkin.

GitHub va Git farqi

GitHub va Git bir xil narsa emas.

  • Git — kod o‘zgarishlarini boshqaradigan version control tizimi;
  • GitHubGit repositorylarni internetda saqlash va jamoa bilan ishlash platformasi;
  • Git lokal kompyuterda ishlaydi;
  • GitHub remote repository, issue, pull request va CI/CD imkoniyatlarini beradi;
  • Git buyruqlar orqali ishlaydi;
  • GitHub web interfeys va qo‘shimcha xizmatlar beradi.

Masalan, commit yaratish Git vazifasi, pull request ochish esa GitHub platformasidagi jarayon hisoblanadi.

Dasturlashdagi o‘rni

GitHub zamonaviy dasturlash jarayonida kod saqlash, jamoaviy ishlash, open-source hissa qo‘shish va deployment jarayonlarini boshqarishda keng ishlatiladi.

GitHub quyidagi joylarda qo‘llanadi:

GitHub Git asosidagi loyihalarni internetda boshqarish va rivojlantirish uchun ishlatiladigan eng mashhur platformalardan biridir.

Bog‘liq tushunchalar

Git, Repository, Commit, Branch, Pull request, Code review, Issue, CI/CD, GitHub Actions, Open-source, Deployment, Markdown