githubforkopen sourcekontribusiMahir4 mnt baca

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)

bash
git clone https://github.com/username-kamu/nama-repo.git
cd nama-repo

Clone 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:

bash
git remote add upstream https://github.com/pemilik-asli/nama-repo.git
git remote -v
bash
origin    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

bash
git switch main
git fetch upstream
git merge upstream/main
git push origin main

Ini 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

bash
git switch -c perbaiki-typo-readme
# ... edit file ...
git add .
git commit -m "Perbaiki typo di README"
git push -u origin perbaiki-typo-readme

Lalu 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 main dari 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.