Danu Andrean, 22 Dec 2025
Cara Kontribusi Ke Repository Github Public

GitHub adalah platform kolaborasi terbesar bagi developer di seluruh dunia. Banyak project bersifat public, artinya siapa pun bisa melihat source code-nya. Namun, melihat dan berkontribusi adalah dua hal yang berbeda.
Masih banyak developer yang bingung:
- Kapan harus fork, kapan cukup clone
- Apa beda contributor dan non-contributor
- Kenapa tidak bisa push walaupun repo public
- Bagaimana alur kontribusi yang benar dan aman
Artikel ini akan membahas secara lengkap dan sistematis cara melakukan kontribusi ke repository GitHub public, baik sebagai contributor (collaborator) maupun non-contributor, sesuai praktik yang benar di dunia profesional dan open-source.
Memahami Konsep Dasar Repository Public di GitHub
Repository public berarti:
- Semua orang bisa melihat source code
- Semua orang bisa clone
- Tidak semua orang bisa push
👉 Public ≠ bebas push
Hak push tetap dikontrol oleh permission (izin) yang diberikan oleh pemilik repository.
Perbedaan Contributor dan Non-Contributor
Sebelum masuk ke teknis, kita perlu memahami dua peran utama dalam kolaborasi GitHub.
🔹 Non-Contributor
Non-contributor adalah user yang:
- Tidak terdaftar sebagai collaborator
- Tidak punya akses write ke repository
- Umumnya orang luar (open-source contributor)
Hak yang dimiliki:
- ✅ Read (melihat code)
- ✅ Clone
- ❌ Push ke repo asli
- ❌ Create branch di repo asli
🔹 Contributor / Collaborator
Contributor (atau collaborator) adalah user yang:
- Ditambahkan secara resmi oleh owner repo
- Memiliki permission (biasanya Write)
Hak yang dimiliki:
- ✅ Clone repo asli
- ✅ Create branch
- ✅ Push branch
- ❌ (biasanya) push langsung ke main/master jika dilindungi
Alur Kontribusi untuk NON-CONTRIBUTOR (Fork Workflow)
Ini adalah alur paling umum dalam project open-source.
🔸 Kenapa Harus Fork?
Karena:
- Kamu tidak punya izin push
- Fork membuat salinan repo di akunmu
- Kamu bebas eksperimen tanpa mengganggu repo asli
🔹 Langkah 1: Fork Repository
- Buka repository public
- Klik tombol Fork (pojok kanan atas) -> create fork

- Repository akan muncul di akun GitHub kamu

🔹 Langkah 2: Clone Repository Fork
git clone https://github.com/usernamekamu/project.git
cd project
🔹 Langkah 3: Buat Branch Baru
❗ Jangan pernah kerja di branch main/master
git checkout -b feature/perbaikan-login
🔹 Langkah 4: Lakukan Perubahan Code
- Edit file
- Tambah fitur
- Fix bug
- Update dokumentasi
🔹 Langkah 5: Commit Perubahan
git add .
git commit -m "fix: perbaiki validasi login"
🔹 Langkah 6: Push ke Fork
git push origin feature/perbaikan-login
🔹 Langkah 7: Buat Pull Request (PR)
Buka repo fork di GitHub
Klik Compare & Pull Request

Pilih:
- Base repo: repo asli
- Base branch: main/master
- Jelaskan perubahan dengan jelas
- Create PR

🎉 Selesai! Sekarang maintainer akan review kontribusimu.
Alur Kontribusi untuk CONTRIBUTOR (Collaborator Workflow)
Jika kamu sudah diberi akses Write, alurnya lebih sederhana.
🔸 Kapan Tidak Perlu Fork?
- Project internal
- Team kerja
- Repo organisasi
- Kamu sering kontribusi
🔹 Langkah 1: Clone Repository Langsung
git clone https://github.com/org/project.git
cd project
🔹 Langkah 2: Buat Branch Baru
git checkout -b feature/api-auth
🔹 Langkah 3: Kerjakan Perubahan
Sama seperti biasa:
- Coding
- Testing
- Refactor
🔹 Langkah 4: Commit
git add .
git commit -m "feat: tambah autentikasi API"
🔹 Langkah 5: Push Branch
git push origin feature/api-auth
🔹 Langkah 6: Buat Pull Request
Walaupun kamu contributor:
- Tetap WAJIB PR
- Jangan push langsung ke main/master
Branch Protection: Kunci Keamanan Kolaborasi
Agar kolaborasi aman, branch utama HARUS dilindungi.
Branch yang biasanya dilindungi:
- main
- master
- release/*
Aturan yang disarankan:
- ✅ Require pull request before merging
- ✅ Require approval
- ✅ Restrict who can push
Dengan ini:
- Contributor tidak bisa push langsung
- Semua perubahan lewat review
- Risiko bug & konflik lebih kecil
Kesalahan Umum yang Sering Terjadi
❌ Clone repo public lalu push (non-contributor)
hasil:
403 permission denied
👉 Solusi: Fork dulu
❌ Push langsung ke master
Berbahaya:
- Bisa merusak production code
- Bisa overwrite perubahan orang lain
❌ Fork padahal sudah collaborator
Tidak salah, tapi:
- Ribet
- PR jadi tidak perlu
- Alur kerja tidak efisien
Kapan Harus Fork dan Kapan Harus Clone?
| Kondisi | Fork | Clone |
|---|---|---|
| Open-source | ✅ | ❌ |
| Bukan collaborator | ✅ | ❌ |
| Contributor internal | ❌ | ✅ |
| Project organisasi | ❌ | ✅ |
Praktik Terbaik (Best Practice)
Beberapa aturan yang dipakai di industri:
- Jangan commit ke main/master
- Selalu pakai branch feature
- Gunakan pesan commit yang jelas
- Satu PR untuk satu tujuan
- Jangan push force kecuali paham risikonya
- Review code orang lain
Ringkasan Akhir
Kontribusi ke GitHub public bukan soal repo-nya terbuka, tapi soal izin dan alur kerja. Non-contributor wajib menggunakan fork dan pull request, sementara contributor tetap harus bekerja lewat branch dan PR, bukan langsung ke main/master. Dengan alur ini, kolaborasi jadi lebih aman, rapi, dan profesional. 🚀🚀🚀
