Fork dan Kontribusi ke Open Source
Cara fork repository, sinkron dengan upstream, dan mengirim PR kontribusi pertamamu ke proyek orang lain.
Apa itu fork?
Fork adalah salinan repository orang lain ke akun GitHub-mu sendiri. Kamu tidak bisa push langsung ke repo orang (tidak punya akses), jadi kamu fork dulu, kerjakan di salinanmu, lalu ajukan Pull Request kembali ke repo asli.
Kapan dipakai? Saat kamu ingin berkontribusi ke proyek open source: memperbaiki bug, menambah fitur, atau memperbaiki dokumentasi. Fork juga dipakai untuk "menyimpan" versi repo yang ingin kamu utak-atik bebas tanpa mengganggu aslinya.
Langkah 1: Fork di GitHub
Buka halaman repository yang ingin dikontribusi, klik tombol Fork di kanan atas. Sekarang kamu punya salinan di github.com/username-kamu/nama-repo.
Langkah 2: Clone fork-mu (bukan repo asli)
git clone https://github.com/username-kamu/nama-repo.git
cd nama-repoClone dari akunmu sendiri, karena ke sinilah kamu akan push nanti.
Langkah 3: Tambahkan remote upstream
Agar salinanmu bisa mengikuti update terbaru dari repo asli, tambahkan remote kedua bernama upstream:
git remote add upstream https://github.com/pemilik-asli/nama-repo.git
git remote -vorigin https://github.com/username-kamu/nama-repo.git (fetch)
origin https://github.com/username-kamu/nama-repo.git (push)
upstream https://github.com/pemilik-asli/nama-repo.git (fetch)
upstream https://github.com/pemilik-asli/nama-repo.git (push)Sekarang ada dua remote: origin (milikmu, untuk push) dan upstream (asli, hanya untuk ambil update).
Langkah 4: Sinkron sebelum mulai
git switch main
git fetch upstream
git merge upstream/main
git push origin mainIni memastikan kamu mulai dari versi terbaru repo asli, bukan dari fork-mu yang mungkin sudah ketinggalan berminggu-minggu. Jangan pernah mengerjakan kontribusi dari main yang kadaluarsa.
Langkah 5: Buat branch, kerjakan, push, PR
git switch -c perbaiki-typo-readme
# ... edit file ...
git add .
git commit -m "Perbaiki typo di README"
git push -u origin perbaiki-typo-readmeLalu buka GitHub repo asli, akan muncul banner untuk membuka PR dari branch di fork-mu. Isi deskripsi PR dengan jelas: masalah apa yang kamu selesaikan dan bagaimana cara mengetesnya.
Etika kontribusi open source
- Baca CONTRIBUTING.md dulu kalau ada. Banyak proyek punya aturan gaya kode dan proses khusus.
- Mulai dari yang kecil. Typo dokumentasi atau bug kecil adalah PR pertama yang ideal. Maintainer lebih percaya pada kontributor yang mulai dari hal kecil.
- Diskusi dulu untuk perubahan besar. Buka issue dan tanyakan "apakah fitur ini diinginkan?" sebelum menghabiskan seminggu ngoding sesuatu yang ternyata ditolak.
- Sabar menunggu review. Maintainer open source biasanya relawan dengan kesibukan sendiri. Satu-dua minggu tanpa respons itu normal.
Catatan teknis: PR dari fork dikirim dari branch di fork-mu ke branch di repo asli. Setelah PR di-merge, branch di fork-mu tidak otomatis terhapus dan fork-mu tidak otomatis sinkron. Biasakan setelah PR diterima: hapus branch fitur di fork-mu, lalu sinkron
maindari upstream lagi (langkah 4) sebelum kontribusi berikutnya. GitHub juga punya tombol "Sync fork" di halaman repo untuk sinkronisasi cepat tanpa terminal.
Ringkasan
Fork → clone fork-mu → tambah remote upstream → sinkron → branch → kerjakan → push ke origin → PR ke repo asli. Mulai dari kontribusi kecil, baca aturan proyek, dan sabar menunggu review. Satu PR yang diterima open source adalah portofolio yang sangat kuat.