GitHub: esensi, kemampuan dan cara kerjanya

Penulis: IT Sectr Diterbitkan: 2026-05-09 Waktu membaca: 8 mnt

GitHub — adalah platform web terbesar untuk hosting repositori Git, pengembangan bersama, dan otomatisasi proses, milik Microsoft. Platform ini tidak hanya menyediakan penyimpanan kode dengan kontrol versi, tetapi juga seperangkat alat lengkap untuk manajemen proyek: Issue Tracking, Pull Request dengan tinjauan kode, Actions untuk CI/CD, dan Wiki untuk dokumentasi. Menurut data GitHub, 2024, platform ini memiliki lebih dari 100 juta pengembang dan 420 juta repositori.

Poin utama

  • GitHub — platform web untuk repositori Git dengan alat tinjauan kode, CI/CD, dan manajemen proyek.
  • Pull Request — mekanisme utama untuk melakukan perubahan dengan diskusi dan pemeriksaan kode.
  • GitHub Actions memungkinkan otomatisasi pembuatan, pengujian, dan penyebaran tanpa layanan CI eksternal.
  • Issues dan Projects — sistem pelacakan tugas dan manajemen sprint bawaan.
  • GitHub Pages menyediakan hosting gratis untuk situs statis dan dokumentasi.

Apa itu GitHub?

GitHub — adalah layanan web untuk menyimpan dan bekerja bersama pada repositori Git, didirikan pada tahun 2008 oleh Tom Preston-Werner, Chris Wanstrath, dan P.J. Hyett. Pada tahun 2018, perusahaan diakuisisi oleh Microsoft seharga 7,5 miliar dolar. Platform ini menyediakan antarmuka web untuk semua operasi Git, menambahkan fitur sosial di atasnya: fork, bintang, langganan, tinjauan kode, dan sistem integrasi berkelanjutan bawaan.

Perbedaan utama GitHub dari pesaingnya — ekosistem terbuka dan komunitas pengembang terbesar. Di GitHub terdapat kode sumber Android, Kubernetes, React, Swift, Kotlin, dan ribuan proyek open-source lainnya. Ini membuat platform tidak hanya alat penyimpanan kode, tetapi juga jejaring sosial bagi pengembang: dapat mengikuti proyek, mendiskusikan perubahan, dan berkontribusi melalui pull request.

Menurut laporan Microsoft (2024), lebih dari 10 juta Pull Request baru melewati GitHub setiap hari, dan jumlah pengguna aktif bulanan telah melampaui 100 juta. Platform ini mendukung lebih dari 500 bahasa pemrograman, deteksi bahasa otomatis berdasarkan ekstensi file, dan penyorotan sintaksis kode.

Kemampuan utama GitHub

Fungsionalitas GitHub melampaui hosting Git sederhana. Platform ini menawarkan: GitHub Actions — sistem CI/CD bawaan; GitHub Packages — registri paket dan kontainer; GitHub Codespaces — lingkungan pengembangan cloud berbasis VS Code; GitHub Discussions — forum komunitas; GitHub Security — Dependabot untuk pembaruan ketergantungan otomatis dan pemindaian kerentanan; GitHub Copilot — asisten AI untuk menulis kode.

Untuk organisasi, GitHub menawarkan GitHub Enterprise — versi korporat dengan hosting sendiri (GitHub Enterprise Server) atau penyebaran cloud (GitHub Enterprise Cloud). Fitur korporat meliputi autentikasi SAML/SSO, audit aktivitas, kebijakan keamanan repositori, dan SLA 99,95% ketersediaan. Versi Enterprise digunakan oleh perusahaan seperti Google, Apple, dan Airbnb.

Fitur penting GitHub — GitHub CLI (gh), yang memungkinkan melakukan semua operasi platform dari baris perintah tanpa menggunakan antarmuka web. Dengan gh, pengguna dapat membuat repositori, mengelola Issues, melihat Pull Request, dan menjalankan Actions langsung dari terminal, yang mempercepat kerja pengembang yang terbiasa dengan baris perintah.

FiturTujuanKetersediaan
ActionsCI/CD dan otomatisasiGratis 2000 menit/bulan
CodespacesIDE cloud berbasis VS CodeBerbayar, 60 jam/bulan gratis
PackagesHosting paket dan gambar DockerGratis 500 MB
DependabotPembaruan ketergantungan otomatisGratis untuk repositori publik
PagesHosting situs statisGratis

Pull Request dan tinjauan kode

Pull Request (PR) — adalah mekanisme utama untuk melakukan perubahan dalam proyek di GitHub. Pengembang membuat cabang dengan perubahan, mempublikasikannya di GitHub, dan mengirim permintaan penggabungan (Pull Request) ke cabang utama. Peserta proyek lainnya melihat perbedaan (diff) antar cabang, dapat memberikan komentar pada baris kode tertentu, mengusulkan perubahan, dan menyetujui atau menolak permintaan.

Proses tinjauan kode di GitHub dibangun di sekitar PR. Setiap komentar terikat pada baris diff tertentu dan dapat terdiri dari tiga jenis: Comment (komentar biasa), Request Changes (memerlukan perbaikan), dan Approve(persetujuan). Setelah perubahan dilakukan, penulis memperbarui PR dengan commit baru, dan proses tinjauan diulang. Ketika semua masukan telah diselesaikan dan PR disetujui, perubahan digabungkan ke cabang target.

bash
# Membuat cabang feature dan push
git checkout -b fix-login-bug
git add src/
git commit -m "Fix login validation error"
git push -u origin fix-login-bug

# Membuat PR melalui CLI
gh pr create --base main --title "Fix login validation" \
    --body "Fixed edge case with empty email field"

# Melihat dan merge PR
gh pr review --approve fix-login-bug
gh pr merge --squash fix-login-bug

GitHub mendukung perlindungan cabang (branch protection rules): dapat melarang push langsung ke main, mewajibkan jumlah persetujuan sebelum merge, menjalankan pemeriksaan Actions, dan memerlukan cabang yang mutakhir sebelum penggabungan. Perlindungan cabang dikonfigurasi di Settings → Branches dan merupakan praktik wajib untuk proyek produksi, mencegah masuknya kode tidak stabil secara tidak sengaja ke cabang utama.

GitHub Actions dan CI/CD

GitHub Actions — adalah platform CI/CD bawaan yang memungkinkan otomatisasi alur kerja langsung di repositori. Workflow dijelaskan dalam file YAML yang terletak di direktori .github/workflows/. Setiap workflow terdiri dari satu atau lebih job, yang dijalankan pada runner — mesin virtual dengan Linux, Windows, atau macOS.

Actions mendukung model berbasis peristiwa: workflow dipicu saat push, pembuatan PR, publikasi rilis, sesuai jadwal, atau melalui webhook. Ini memungkinkan otomatisasi pembuatan, menjalankan tes, analisis kode statis, publikasi ke toko aplikasi, dan penyebaran ke server tanpa partisipasi pengembang. Di bawah ini adalah contoh workflow untuk proyek Android:

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

Ekosistem Actions mencakup lebih dari 20.000 tindakan siap pakai di GitHub Marketplace. Tindakan populer: checkout (mengkloning repositori), setup-java/setup-node/setup-python (konfigurasi lingkungan), upload-artifact (menyimpan artefak build), cache (caching ketergantungan untuk mempercepat), slack-notify (mengirim notifikasi ke Slack). Actions juga mendukung build matriks — menjalankan secara bersamaan pada beberapa versi OS atau bahasa.

GitHub Projects dan Issues

Issues — adalah sistem pelacakan tugas bawaan di GitHub. Setiap Issue memiliki judul, deskripsi, label, pelaksana yang ditugaskan (assignees), pencapaian (milestones), dan Pull Request terkait. Issues dapat dibuat template — untuk laporan bug, permintaan fitur, atau pertanyaan, template yang berbeda digunakan yang secara otomatis diganti saat pembuatan.

GitHub Projects (sebelumnya Projects Beta) — adalah alat manajemen proyek berbasis papan, mirip dengan Jira dan Trello. Projects mendukung bidang khusus (status, prioritas, sprint), koneksi dengan Issues dan Pull Request, otomatisasi pemindahan kartu saat perubahan status tugas, dan analitik dalam bentuk bagan pembakaran tugas (burndown chart). Projects tersedia dalam dua mode: Table (tampilan tabel) dan Board (papan kanban).

Untuk manajemen rilis, GitHub menyediakan Milestones — kelompok Issues dan PR, disatukan oleh tujuan bersama dengan tenggat waktu. Setiap pencapaian menunjukkan kemajuan: berapa banyak tugas yang terbuka, berapa banyak yang ditutup, dan apakah tenggat waktu dipatuhi. Milestones terintegrasi dengan Releases — saat mempublikasikan rilis, dapat dikaitkan dengan pencapaian dan secara otomatis menghasilkan daftar perubahan di CHANGELOG berdasarkan Issues yang ditutup.

GitHub Pages dan Wiki

GitHub Pages — adalah hosting gratis untuk situs statis, yang secara otomatis mempublikasikan konten repositori di alamat https://username.github.io/repository. Pages mendukung HTML, CSS, JavaScript, dan generator statis: Jekyll (bawaan), Hugo, Next.js (ekspor), dan MkDocs. Konfigurasi mencakup pemilihan cabang dan direktori untuk publikasi, serta dukungan untuk domain kustom.

Untuk dokumentasi teknis, GitHub menyediakan Wiki — sistem wiki bawaan, yang juga disimpan sebagai repositori Git. Wiki mendukung Markdown dan memungkinkan pengeditan halaman baik melalui antarmuka web maupun secara lokal melalui push ke repositori wiki. Setiap halaman Wiki memiliki riwayat perubahannya sendiri, yang berguna untuk mendokumentasikan API, arsitektur, dan proses proyek.

Kombinasi GitHub Pages + Jekyll — solusi populer untuk situs dokumentasi. Jekyll secara otomatis mengonversi file Markdown menjadi halaman HTML statis, mendukung tema, navigasi, dan pencarian. Misalnya, dokumentasi Android Developers sebelumnya menggunakan Jekyll di GitHub Pages, dan sekarang — platform internal, tetapi ribuan proyek open-source terus menggunakan kombinasi ini untuk situs mereka.

GitHub CLI: manajemen tanpa browser

GitHub CLI (gh) memungkinkan melakukan semua operasi platform melalui baris perintah: membuat repositori, mengelola Issues, melihat dan menyetujui Pull Request, menjalankan Actions. Perintah gh repo create my-project --public membuat repositori jarak jauh dan menghubungkannya dengan repositori lokal, dan gh pr create membuat Pull Request dari cabang saat ini. CLI mempercepat kerja pengembang yang lebih suka terminal daripada antarmuka web.

GitHub API untuk otomatisasi

GitHub REST API dan GraphQL API menyediakan akses terprogram ke semua fungsi platform: membuat Issue, mengelola pengguna, mendapatkan statistik, dan mengelola Actions. GraphQL API lebih disukai untuk kueri kompleks karena memungkinkan mendapatkan hanya bidang yang diperlukan dalam satu kueri. Batas rate untuk REST API — 5000 kueri per jam untuk pengguna yang terautentikasi. API banyak digunakan untuk integrasi GitHub dengan sistem CI eksternal dan alat DevOps internal.

GitHub Gist untuk catatan cepat

GitHub Gist — layanan untuk mempublikasikan potongan kode tanpa membuat repositori lengkap. Gist mendukung penyorotan sintaksis, penyematan di situs eksternal, dan riwayat versi. Setiap Gist dapat bersifat publik (terlihat di pencarian) atau rahasia (hanya dapat diakses melalui tautan). Gist digunakan untuk berbagi konfigurasi, log, dan contoh kode dengan cepat dalam korespondensi tim, serta sebagai analog Pastebin untuk pengembang.

Pertanyaan yang sering diajukan

Apa perbedaan GitHub dengan GitLab?

GitHub menekankan pada komunitas terbuka dan fitur sosial (fork, bintang). GitLab menawarkan CI/CD bawaan yang lebih kuat dan hosting sendiri (Self-Managed) tanpa batasan menit Actions.

Berapa biaya GitHub untuk tim?

GitHub Team berbiaya $4 per pengguna per bulan dan memberikan repositori pribadi tak terbatas, perlindungan cabang, dan Actions (3000 menit). Tarif gratis cocok untuk proyek open-source kecil.

Bagaimana cara membuat repositori pribadi?

Saat membuat repositori, pilih Private bukan Public. Di repositori pribadi, kode hanya terlihat oleh peserta yang diundang. Pada tarif gratis, repositori pribadi tersedia dengan batasan hingga 3 kolaborator.

Apa itu GitHub Copilot?

GitHub Copilot — asisten AI berbasis OpenAI Codex yang menawarkan penyelesaian kode otomatis secara real-time. Bekerja di VS Code, JetBrains, dan Neovim, mendukung semua bahasa pemrograman populer.

Bagaimana cara menghapus repositori di GitHub?

Buka Settings → Danger Zone → Delete this repository. Penghapusan bersifat permanen — semua commit, Issues, dan Wiki akan dihapus tanpa kemungkinan pemulihan. Pastikan Anda memiliki cadangan sebelumnya.

Ringkasan

  • GitHub — platform hosting repositori Git terbesar dengan alat CI/CD dan manajemen proyek bawaan.
  • Pull Request menyediakan proses tinjauan kode dengan komentar baris, persetujuan, dan perlindungan cabang.
  • GitHub Actions mengotomatiskan pembuatan, pengujian, dan penyebaran melalui konfigurasi YAML di repositori.
  • Issues dan Projects menggantikan Jira dan Trello untuk tim kecil dengan bidang khusus dan papan kanban.
  • GitHub Pages dan Wiki menyediakan hosting gratis untuk dokumentasi dan situs statis.
  • Ekosistem mencakup Copilot (pengkodean AI), Codespaces (IDE cloud), Packages, dan Dependabot.
  • Mulailah dengan membuat repositori dan Pull Request pertama — ini akan mencakup kebutuhan dasar tim.

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga