GitHub: mahiyyəti, imkanları və necə işləyir

Müəllif: IT Sectr Dərc olunub: 2026-05-09 Oxuma vaxtı: 8 dəq

GitHub — Microsoft-a məxsus olan, Git repozitoriyalarının hostingi, birgə inkişaf və proseslərin avtomatlaşdırılması üçün ən böyük veb platformadır. O, təkcə versiya nəzarəti ilə kod saxlanması deyil, həm də layihə idarəetməsi üçün tam alətlər dəsti təqdim edir: Issue Tracking, kod baxışı ilə Pull Request, CI/CD üçün Actions və sənədləşmə üçün Wiki. GitHub, 2024 məlumatlarına görə, platformada 100 milyondan çox tərtibatçı və 420 milyon repozitoriya var.

Əsas məqamlar

  • GitHub — kod baxışı, CI/CD və layihə idarəetmə alətləri ilə Git repozitoriyaları üçün veb platforma.
  • Pull Request — müzakirə və kod yoxlaması ilə dəyişikliklər etmək üçün əsas mexanizm.
  • GitHub Actions xarici CI servisləri olmadan tikinti, test və yerləşdirməni avtomatlaşdırmağa imkan verir.
  • Issues və Projects — daxili tapşırıq izləmə və sprint idarəetmə sistemi.
  • GitHub Pages statik saytlar və sənədləşmə üçün pulsuz hosting təqdim edir.

GitHub nədir?

GitHub — 2008-ci ildə Tom Preston-Verner, Kris Vanstrat və P.C. Hayett tərəfindən təsis edilmiş Git repozitoriyalarının saxlanması və birgə işi üçün veb xidmətdir. 2018-ci ildə şirkət Microsoft tərəfindən 7,5 milyard dollara satın alınmışdır. Platforma bütün Git əməliyyatları üçün veb interfeys təmin edir, üstəlik sosial funksiyalar əlavə edir: fork-lar, ulduzlar, abunəliklər, kod baxışı və daxili davamlı inteqrasiya sistemi.

GitHub-un rəqiblərindən əsas fərqi — açıq ekosistem və ən böyük tərtibatçı cəmiyyətidir. GitHub-da Android, Kubernetes, React, Swift, Kotlin və minlərlə digər open-source layihələrin mənbə kodları yerləşir. Bu, platformanı təkcə kod saxlama aləti deyil, həm də tərtibatçılar üçün sosial şəbəkəyə çevirir: layihələri izləmək, dəyişiklikləri müzakirə etmək və pull request vasitəsilə töhfə vermək mümkündür.

Microsoft-un 2024-cü il hesabatına görə, GitHub-dan gündəlik 10 milyondan çox yeni Pull Request keçir və aylıq aktiv istifadəçilərin sayı 100 milyonu keçib. Platforma 500-dən çox proqramlaşdırma dilini, fayl genişlənməsinə görə avtomatik dil aşkarlanmasını və kod sintaksisinin vurğulanmasını dəstəkləyir.

GitHub-un əsas imkanları

GitHub funksionallığı sadə Git hostingindən çox kənara çıxır. Platforma təklif edir: GitHub Actions — daxili CI/CD sistemi; GitHub Packages — paket və konteyner reyestri; GitHub Codespaces — VS Code-a əsaslanan bulud inkişaf mühitləri; GitHub Discussions — icma forumu; GitHub Security — asılılıqların avtomatik yenilənməsi və zəifliklərin skan edilməsi üçün Dependabot; GitHub Copilot — kod yazmaq üçün AI köməkçisi.

Təşkilatlar üçün GitHub GitHub Enterprise təklif edir — fərdi hostinqlə (GitHub Enterprise Server) və ya bulud yerləşdirməsi ilə (GitHub Enterprise Cloud) korporativ versiya. Korporativ funksiyalara SAML/SSO autentifikasiyası, fəaliyyət auditi, repozitoriya təhlükəsizlik siyasətləri və 99,95% mövcudluq üçün SLA daxildir. Enterprise versiyası Google, Apple və Airbnb kimi şirkətlər tərəfindən istifadə olunur.

GitHub-un vacib xüsusiyyəti — GitHub CLI (gh) veb interfeysindən istifadə etmədən bütün platforma əməliyyatlarını əmr sətrindən yerinə yetirməyə imkan verir. gh ilə repozitoriyalar yaratmaq, Issues-i idarə etmək, Pull Request-lərə baxmaq və Actions-ı birbaşa terminaldan işə salmaq olar ki, bu da əmr sətrinə öyrəşmiş tərtibatçıların işini sürətləndirir.

FunksiyaTəyinatƏlçatımlılıq
ActionsCI/CD və avtomatlaşdırmaPulsuz 2000 dəq/ay
CodespacesVS Code-a əsaslanan bulud IDEÖdənişli, 60 saat/ay pulsuz
PackagesPaket və Docker şəkillərinin hostingiPulsuz 500 MB
DependabotAsılılıqların avtomatik yenilənməsiİctimai repolar üçün pulsuz
PagesStatik saytların hostingiPulsuz

Pull Request və kod baxışı

Pull Request (PR) — GitHub-da layihəyə dəyişikliklər etmək üçün əsas mexanizmdir. Tərtibatçı dəyişikliklərlə bir budaq yaradır, onu GitHub-da dərc edir və əsas budaqa birləşmə sorğusu (Pull Request) göndərir. Layihənin digər iştirakçıları budaqlar arasındakı fərqi (diff) görür, konkret kod sətirlərinə şərh yaza, dəyişikliklər təklif edə və sorğunu təsdiqləyə və ya rədd edə bilər.

GitHub-da kod baxışı prosesi PR ətrafında qurulub. Hər bir şərh diff-in konkret sətirinə bağlanır və üç növ ola bilər: Comment (adi şərh), Request Changes (düzəliş tələb edir) və Approve (təsdiq). Dəyişikliklər edildikdən sonra müəllif PR-i yeni commit ilə yeniləyir və baxış prosesi təkrarlanır. Bütün qeydlər aradan qaldırıldıqda və PR təsdiqləndikdə, dəyişikliklər hədəf budağa birləşdirilir.

bash
# Feature budağının yaradılması və push
git checkout -b fix-login-bug
git add src/
git commit -m "Fix login validation error"
git push -u origin fix-login-bug

# CLI vasitəsilə PR yaradılması
gh pr create --base main --title "Fix login validation" \
    --body "Fixed edge case with empty email field"

# PR-ə baxış və merge
gh pr review --approve fix-login-bug
gh pr merge --squash fix-login-bug

GitHub budaq qorunmasını (branch protection rules) dəstəkləyir: main-ə birbaşa push-u qadağan etmək, merge-dən əvvəl məcburi təsdiq sayını tələb etmək, Actions yoxlamalarını işə salmaq və birləşmədən əvvəl budağın aktuallığını tələb etmək olar. Budaq qorunması Settings → Branches bölməsində konfiqurasiya edilir və istehsal layihələri üçün məcburi təcrübədir, əsas budağa qeyri-sabit kodun təsadüfən daxil edilməsinin qarşısını alır.

GitHub Actions və CI/CD

GitHub Actions — birbaşa repozitoriyada iş axınlarını avtomatlaşdırmağa imkan verən daxili CI/CD platformasıdır. Workflow .github/workflows/ kataloqunda yerləşən YAML fayllarında təsvir olunur. Hər workflow Linux, Windows və ya macOS ilə virtual maşınlarda — runner-larda icra olunan bir və ya daha çox job-dan ibarətdir.

Actions hadisəyönümlü modeli dəstəkləyir: workflow push, PR yaradılması, release dərci, cədvəl üzrə və ya webhook vasitəsilə işə düşür. Bu, tərtibatçının iştirakı olmadan tikinti, test icrası, kodun statik analizi, tətbiq mağazalarına dərc və serverə yerləşdirməni avtomatlaşdırmağa imkan verir. Aşağıda Android layihəsi üçün workflow nümunəsi verilmişdir:

yaml
name: Android CI

on:
  pull_request:
    branches: [ main ]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up JDK 17
        uses: actions/setup-java@v4
        with:
          java-version: '17'
      - name: Build with Gradle
        run: ./gradlew assembleDebug

Actions ekosisteminə GitHub Marketplace-də 20 000-dən çox hazır hərəkət daxildir. Populyar hərəkətlər: checkout (repozitoriyanın klonlanması), setup-java/setup-node/setup-python (mühitin qurulması), upload-artifact (tikinti artefaktlarının saxlanması), cache (asılılıqların keşləşdirilməsi), slack-notify (Slack-ə bildiriş göndərilməsi). Actions həmçinin matrisli tikintini dəstəkləyir — bir neçə ƏS və ya dil versiyasında eyni vaxtda işə salma.

GitHub Projects və Issues

Issues — GitHub-da daxili tapşırıq izləmə sistemidir. Hər bir Issue-nin başlığı, təsviri, etiketləri (labels), təyin edilmiş ifaçıları (assignees), mərhələləri (milestones) və əlaqəli Pull Request-i var. Issues şablonlaşdırıla bilər — səhv hesabatları, funksiya tələbləri və ya suallar üçün yaradılarkən avtomatik olaraq əvəzlənən müxtəlif şablonlar istifadə olunur.

GitHub Projects (əvvəllər Projects Beta) — Jira və Trello-ya bənzər lövhələrə əsaslanan layihə idarəetmə alətidir. Projects xüsusi sahələri (status, prioritet, sprint), Issues və Pull Request ilə əlaqəni, tapşırıq statusu dəyişdikdə kartların avtomatik daşınmasını və burndown chart şəklində analitikanı dəstəkləyir. Projects iki rejimdə mövcuddur: Table (cədvəl görünüşü) və Board (kanban lövhəsi).

Buraxılışların idarə edilməsi üçün GitHub Milestones təqdim edir — ümumi məqsəd və son tarixlə birləşdirilmiş Issue və PR qrupları. Hər bir mərhələ icra vəziyyətini göstərir: nə qədər tapşırığın açıq, nə qədərinin bağlı olduğunu və müddətə əməl olunub-olunmadığını. Milestones Releases ilə inteqrasiya olunur — buraxılış dərc edilərkən onu mərhələyə bağlamaq və bağlı Issue-lar əsasında CHANGELOG-da avtomatik dəyişiklik siyahısı yaratmaq olar.

GitHub Pages və Wiki

GitHub Pages — repozitoriyanın məzmununu https://username.github.io/repository ünvanında avtomatik dərc edən pulsuz statik sayt hostingidir. Pages HTML, CSS, JavaScript və statik generatorları dəstəkləyir: Jekyll (daxili), Hugo, Next.js (eksport) və MkDocs. Konfiqurasiyaya dərc üçün budaq və kataloq seçimi, həmçinin fərdi domen dəstəyi daxildir.

Texniki sənədləşmə üçün GitHub Wiki təqdim edir — həmçinin Git repozitoriyası kimi saxlanılan daxili wiki sistemi. Wiki Markdown-ı dəstəkləyir və səhifələri həm veb interfeys, həm də yerli olaraq wiki repozitoriyasına push vasitəsilə redaktə etməyə imkan verir. Hər Wiki səhifəsinin öz dəyişiklik tarixçəsi var ki, bu da API, arxitektura və layihə proseslərinin sənədləşdirilməsi üçün əlverişlidir.

GitHub Pages + Jekyll birləşməsi sənədləşmə saytları üçün məşhur həll yoludur. Jekyll avtomatik olaraq Markdown fayllarını statik HTML səhifələrə çevirir, mövzuları, naviqasiyanı və axtarışı dəstəkləyir. Məsələn, Android Developers sənədləşməsi əvvəllər GitHub Pages-də Jekyll istifadə edirdi, indi isə daxili platformadan istifadə edir, lakin minlərlə open-source layihə öz saytları üçün bu birləşmədən istifadə etməyə davam edir.

GitHub CLI: brauzersiz idarəetmə

GitHub CLI (gh) platformada bütün əməliyyatları əmr sətri vasitəsilə yerinə yetirməyə imkan verir: repozitoriyalar yaratmaq, Issues-i idarə etmək, Pull Request-lərə baxmaq və təsdiqləmək, Actions-ı işə salmaq. gh repo create my-project --public əmri uzaq repozitoriya yaradır və onu yerli ilə əlaqələndirir, gh pr create isə cari budaqdan Pull Request yaradır. CLI veb interfeysi əvəzinə terminala üstünlük verən tərtibatçıların işini sürətləndirir.

Avtomatlaşdırma üçün GitHub API

GitHub REST API və GraphQL API platformanın bütün funksiyalarına proqram girişi təmin edir: Issue yaratmaq, istifadəçiləri idarə etmək, statistika əldə etmək və Actions-ı idarə etmək. GraphQL API mürəkkəb sorğular üçün daha üstündür, çünki bir sorğuda yalnız lazımi sahələri əldə etməyə imkan verir. REST API üçün rate limit — autentifikasiya olunmuş istifadəçilər üçün saatda 5000 sorğu. API GitHub-ın xarici CI sistemləri və daxili DevOps alətləri ilə inteqrasiyası üçün geniş istifadə olunur.

Sürətli qeydlər üçün GitHub Gist

GitHub Gist — tam repozitoriya yaratmadan kod fraqmentlərini dərc etmək üçün xidmətdir. Gist sintaksis vurğulanmasını, xarici saytlara yerləşdirməni və versiya tarixçəsini dəstəkləyir. Hər Gist ictimai (axtarışda görünən) və ya gizli (yalnız keçid vasitəsilə əlçatan) ola bilər. Gist komanda yazışmalarında konfiqurasiyaların, logların və kod nümunələrinin sürətli mübadiləsi üçün, həmçinin tərtibatçılar üçün Pastebin analoqu kimi istifadə olunur.

Tez-tez verilən suallar

GitHub GitLab-dan nə ilə fərqlənir?

GitHub açıq cəmiyyətə və sosial funksiyalara (fork-lar, ulduzlar) diqqət yetirir. GitLab daha güclü daxili CI/CD və Actions dəqiqələri məhdudiyyəti olmadan fərdi hosting (Self-Managed) təklif edir.

Komanda üçün GitHub nə qədərdir?

GitHub Team ayda istifadəçi başına 4 dollar təşkil edir və məhdudiyyətsiz özəl repozitoriyalar, budaq qorunması və Actions (3000 dəqiqə) verir. Pulsuz tarif kiçik open-source layihələr üçün uyğundur.

Özəl repozitoriya necə yaradılır?

Repozitoriya yaradarkən Public əvəzinə Private seçin. Özəl repozitoriyalarda kodu yalnız dəvət olunmuş iştirakçılar görür. Pulsuz tarifdə özəl repozitoriyalar 3 kolaborator məhdudiyyəti ilə mövcuddur.

GitHub Copilot nədir?

GitHub Copilot — OpenAI Codex-ə əsaslanan, real vaxtda kodun avtomatik tamamlanmasını təklif edən AI köməkçisidir. VS Code, JetBrains və Neovim-də işləyir, bütün məşhur proqramlaşdırma dillərini dəstəkləyir.

GitHub-da repozitoriya necə silinir?

Settings → Danger Zone → Delete this repository bölməsinə keçin. Silinmə geri dönməzdir — bütün commit-lər, Issue və Wiki bərpa imkanı olmadan silinəcək. Əvvəlcədən ehtiyat nüsxəniz olduğundan əmin olun.

Nəticə

  • GitHub — daxili CI/CD və layihə idarəetmə alətləri ilə Git repozitoriyalarının hostingi üçün ən böyük platforma.
  • Pull Request sətir şərhləri, təsdiqlər və budaq qorunması ilə kod baxışı prosesini təmin edir.
  • GitHub Actions repozitoriyada YAML konfiqurasiyası vasitəsilə tikinti, test və yerləşdirməni avtomatlaşdırır.
  • Issues və Projects kiçik komandalar üçün xüsusi sahələr və kanban lövhəsi ilə Jira və Trello-nu əvəz edir.
  • GitHub PagesWiki sənədləşmə və statik saytlar üçün pulsuz hosting təmin edir.
  • Ekosistem Copilot (AI kodlaşdırma), Codespaces (bulud IDE), Packages və Dependabot-u əhatə edir.
  • Başlayın repozitoriya yaratmaq və ilk Pull Request ilə — bu komandanın əsas ehtiyaclarını ödəyəcək.

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun