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:
- Fork repo yang ingin kamu kontribusi
- Clone fork ke komputer lokal
- Buat branch baru untuk perubahanmu
- Edit & commit perubahanmu
- Push ke fork kamu di GitHub
- Buat Pull Request dari fork ke repo asli
- Pemilik repo review dan merge PR kamu
Tips: Selalu buat branch baru untuk setiap perubahan. Jangan langsung edit di branch
mainfork 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:
| Tipe | Contoh |
|---|---|
| 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 issuemenandakan 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)
- Buka repo latihan resmi GitHub:
github.com/octocat/Spoon-Knife - Klik tombol “Fork” di kanan atas
- 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)
- Buka fork kamu di GitHub
- Klik “Compare & pull request”
- Tulis judul dan deskripsi yang jelas
- 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
- Fork 1 repo publik lain (selain Spoon-Knife), buat perubahan kecil, dan submit Pull Request
- Buat 3 issues di repo sendiri dengan kategori berbeda: 1 bug report, 1 feature request, 1 documentation
- Baca dokumentasi resmi: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests