Pertemuan Pertemuan 9

Fork, Pull Request, dan Issues

Pertemuan 9 / 32
Basic Modul 1.5 60 menit
Pertemuan 09

Fork, Pull Request, dan Issues

Tujuan Pembelajaran

  • Memahami konsep Fork dan kegunaannya
  • Mampu membuat Pull Request (PR)
  • Mampu membuat dan mengelola Issues di GitHub

Materi Inti

A. Fork & Pull Request

Fork adalah membuat salinan repository orang lain ke akun GitHub kamu sendiri. Ini memungkinkan kamu bereksperimen dan membuat perubahan tanpa memengaruhi repo asli.

Repo Asli (pemilik)         Fork Kamu (copy)
github.com/orang/project -> github.com/kamu/project
        ^                           |
        |     Pull Request          |
        +---------------------------+

Alur kontribusi Open Source:

  1. Fork repo yang ingin kamu kontribusi
  2. Clone fork ke komputer lokal
  3. Buat branch baru untuk perubahanmu
  4. Edit & commit perubahanmu
  5. Push ke fork kamu di GitHub
  6. Buat Pull Request dari fork ke repo asli
  7. Pemilik repo review dan merge PR kamu

Tips: Selalu buat branch baru untuk setiap perubahan. Jangan langsung edit di branch main fork kamu.

B. GitHub Issues

Issues adalah sistem pelacakan tugas, bug, dan fitur di GitHub. Setiap repository memiliki tab Issues yang berfungsi sebagai papan diskusi dan manajemen tugas.

Tipe issue yang umum:

TipeContoh
Bug Report”Tombol login tidak berfungsi di Firefox”
Feature Request”Tambahkan mode gelap”
Question”Bagaimana cara deploy ke production?”

Fitur penting di Issues:

  • Labels — Tag untuk mengkategorikan issue: bug, enhancement, documentation, good first issue
  • Assignees — Menunjuk siapa yang bertanggung jawab menyelesaikan issue
  • Milestones — Mengelompokkan issue ke versi release tertentu

Info: Label good first issue menandakan issue yang cocok untuk pemula atau kontributor baru. Ini tempat yang bagus untuk memulai kontribusi open source!


Demonstrasi Live

Langkah 1: Fork Repo (di Browser)

  1. Buka repo latihan resmi GitHub: github.com/octocat/Spoon-Knife
  2. Klik tombol “Fork” di kanan atas
  3. Pilih akun kamu sebagai tujuan fork

Langkah 2: Clone Fork ke Lokal

git clone git@github.com:USERNAME/Spoon-Knife.git
cd Spoon-Knife

Langkah 3: Buat Branch Baru

git switch -c tambah-halaman-saya

Langkah 4: Buat Perubahan dan Commit

echo "<h1>Halaman oleh [Nama Kamu]</h1>" > halaman-saya.html
git add halaman-saya.html
git commit -m "Tambah halaman personal"

Langkah 5: Push ke Fork

git push origin tambah-halaman-saya

Langkah 6: Buat Pull Request (di Browser)

  1. Buka fork kamu di GitHub
  2. Klik “Compare & pull request”
  3. Tulis judul dan deskripsi yang jelas
  4. Klik “Create pull request”

Latihan Interaktif

Latihan Terminal (Hands-on)

Langkah 1: Fork repo latihan

  • Buka: https://github.com/octocat/Spoon-Knife
  • Klik “Fork”

Langkah 2: Clone, buat branch, edit, push

git clone git@github.com:USERNAME/Spoon-Knife.git
cd Spoon-Knife
git switch -c kontribusi-saya
echo "Kontribusi dari [Nama]" > kontribusi.md
git add .
git commit -m "Tambah file kontribusi"
git push origin kontribusi-saya

Langkah 3: Buat Pull Request di GitHub

  • Buka fork kamu, klik “Compare & pull request”
  • Isi judul dan deskripsi, lalu klik “Create pull request”

Langkah 4: Buat Issue di repo milikmu sendiri

  • Buka salah satu repo kamu di GitHub
  • Tab “Issues” lalu klik “New Issue”
  • Judul: “Tambahkan fitur dark mode”
  • Tambahkan label enhancement

Tugas Mandiri

  1. Fork 1 repo publik lain (selain Spoon-Knife), buat perubahan kecil, dan submit Pull Request
  2. Buat 3 issues di repo sendiri dengan kategori berbeda: 1 bug report, 1 feature request, 1 documentation
  3. Baca dokumentasi resmi: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests