Featured Header
GNU/Linux

Pull Request dan Sinkronisasi Fork pada Github

Artikel ini akan menjelaskan bagaimana pull request dan sinkronisasi fork pada github. Mungkin diantara kita ada yang terbiasa berkontribusi pada proyek-proyek open source / closed source dengan memanfaatkan git sebagai salah satu kontrol repositori.

Forking merupakan salah satu cara yang dilakukan dengan melakukan duplikasi repositori asli ke github kita. Kemudian lakukan kloning pada repositori yang telah diduplikasi untuk kemudian dapat kita lakukan modifikasi di lokal. Mungkin secara ekstremnya kita bisa melakukan apapun pada repositori  yang telah kita forking itu dan ubah sesuai dengan keinginan kita tanpa khawatir mempengaruhi repositori aslinya. Nah jika kita ingin berkontribusi pada proyek open source di github langkah yang biasa kita lakukan adalah:

  1. Fork
  2. Clone
  3. Pull Request

Setelah repositori sudah ada pada lokal komputer kita, maka kita bisa mulai melakukan modifikasi dan menutup bug (jika ada bug). Sebenarnya tiga langkah diatas bisa dipersingkat dengan cukup forking kemudian kita langsung melakukan pengubahan di website github dan lanjutkan dengan Pull Request. Tentu saja jika pengubahan itu hanya kecil atau sekedar dokumentasi kecil maka hal ini bisa dilakukan karena cukup singkat. Akan tetapi jika banyak dan besar sebaiknya lakukan pada lokal komputer kita.

Ada satu kasus dimana setelah kita melakukan pull Request dan merge ke repositori aslinya maka otomatis repositori hasil forking yang ada di github kita akan beberapa langkah di belakang repositori asli terutama jika ada penggabungan (merge) baru dari hasil update yang lainnya. Disinilah letak pentingnya kita untuk melakukan kloning (langkah 2). Nah ada beberapa langkah yang bisa kita lakukan disini agar repositori hasil forking (duplikat) tetap tersinkronisasi dengan repositori asli. Langkah di bawah ini adalah contoh. Silakan lakukan penyesuaian

  • Lakukan kloning repositori yang telah kita forking:
git clone https://github.com/USER-NAME-GITHUB-KAMU/REPOSITORI-HASIL-FORKINGMU.git
  • Tambahkan remote dari repositori asli pada repositori yang telah kita forking:
cd REPOSITORI-HASIL-FORKINGMU
git remote add upstream https://github.com/USER-DEVELOPER-ASLI/REPOSITORI-ASLI-YANG-KITA-FORKING.git
git fetch upstream
  • Update repositori hasil forking (lokal) dari repositori asli agar tetap tersinkronisasi
git pull upstream master
  • Update repositori hasil forking (remote) dari repositori lokal kita agar yang remote juga ikut terupdate
git push origin master

Apabila langkah-langkah pull request dan sinkronisasi fork lancar, maka repositori lokal dan remote hasil forking akan selalu terupdate. Jika masih bingung masih bisa cek langkah-langkah pada situs github. Sekian dan semoga bermanfaat.

Leave a Reply

Your email address will not be published. Required fields are marked *