author Ahmad Muhardian

Github Workflow: Cara Berkontribusi di Proyek Open Source


Github Workflow untuk berkontribusi di Poryek Open Source

Github saat ini sudah menjadi rumah bagi proyek-proyek open source.

Jutaan programmer dari seluruh dunia menaruh kodenya di sana.

Bahkan proyek open source seperti Linux, Cinnamon, Laravel, BlankOn, dll. menggunakan Github.

Bagaimana proyek-proyek itu digarap bersama?

Itulah yang akan kita pelajari pada artikel ini.

Kita akan belajar tentang Git dan Github workflow atau alur kerja Github untuk berkontribusi pada proyek open source.

Kita akan langsung melakukan kontribusi pada proyek “dummy” yang sudah saya siapkan.

Sebelumnya siapkan dulu alat-alat berikut:

  1. Akun Github;
  2. Git;
  3. Teks Editor.

Langkah-langkah Berkontribusi pada Proyek Open Source di Github

Ada beberapa langkah yang harus dilakukan untuk berkontribusi di Proyek open source:

1. Baca Aturan Berkontribusi

Jika kamu tertarik berkontribusi pada sebuah proyek di Github, pastikan membaca aturan kontribusi.

Pada aturan kontribusi, biasanya akan ada larangan dan tata cara berkontribusi yang harus dipatuhi bersama.

Aturan berkontribusi biasanya ditulis pada file CONTRIBUTING.md dan README.md.

Contoh aturan berkontribusi pada proyek Hugo:

Contoh Aturan Kontribusi

Apa yang akan terjadi bila saya tidak mengikuti aturan berkontribusi?

Bisa jadi kontribusimu akan ditolak oleh admin.

Karena itu, bacalah aturan berkontribusi dengan teliti dan seksama.

2. Fork & Clone Repository

Setelah kita selesai membaca aturan berkontribusi, langkah selanjutnya adalah melakukan fork repository ke akun kita.

Frok bisa kita artikan sebagai menyalin repository dari akun orang lain atau organisasi ke akun kita sendiri.

Nah untuk memprektek, saya sudah menyapkan proyek bernama belajar-git.

Silahkan buka proyek tersebut, lalu klik tombol Fork.

Fork Repository

Tunggu beberapa saat, repository sedang di-fork.

Forking repository

Setelah itu, akan ada repository baru bernama belajar-git di akun kita.

Hasil Fork

Sekarang repository belajar-git telah menjadi milik kita dan bebas melakukan apapun terhadapnya.

Selanjutnya silahkan clone (download) repository tersebut ke komputer lokal.

URL Clone repository

HTTPS:

git clone https://github.com/ardianta/belajar-git.git

SSH:

git clone [email protected]:ardianta/belajar-git.git

Saya biasanya menggunakan SSH, biar tidak memasukkan password saat melakukan push.

Clone repository ke Lokal

3. Lakukan Modifikasi

Setelah kita melakukan clone ke komputer lokal, selanjutnya silahkan buka dengan teks editor dan lakukan modifikasi.

Sebagai contoh, saya membukanya dengan VS Code.

Buka repository dengan teks editor VS Code

Buatlah beberapa perubahan dan simpan perubahan yang kamu lakukan dengan Git.

Lakulan commit terhadap apa yang kamu rubah.

Commit Perubahan

Perlu diperhatikan juga:

  • Gunakan pesan commit yang informatif dan mewakili apa yang sudah kamu ubah.
  • Hindari menggunakan git add . untuk melakukan commit ke semua file.

4. Push Kontribusimu

Setelah kita selesai melakukan perubahan dan commit, langkah berikutnya adalah melakukan push.

Push-nya ke mana?

Ya ke repository hasil fork tadi.

Repository yang kita clone dari Github, akan otomatis membuat remote bernama origin.

Untuk melihatnya, gunakan perintah git remote -v.

Alamat Remote

Alamat tujuan push dan fetch mengarah ke alamat repository di akun kita.

Silahkan melakukan push dengan perintah berikut.

git push origin master

Tunggulah beberapa saat…

Push Perubahan

Setelah selesai, coba lihat repository belajar-git di akun Github-mu.

Apakah berhasil di-push atau tidak?

Kalau berhasil, silahkan lanjutkan ke langkah berikutnya.

5. Membuat Pull Request

Pull Request adalah istilah yang bisa kita artikan sebagai permintaan untuk menggabungkan kode.

Kita sudah membuat perubahan di repository hasil fork, lalu ingin menggabungkan dengan repository sumber.

Maka kita harus membuat Pull Request.

Silahkan klik tombol New Pull Request pada repository belajar-git.

Membuat Pull Request baru

Setelah itu, Github akan melakukan komparasi.

Apakah ada kode yang bentrok atau tidak?

Kalau tidak ada yang bentrok biasanya akan muncul tulisan hijau “Able to merge”.

Selanjutnya silahkan klik tombol Create Pull Request.

Membuat Pull Request baru

Silahkan isi judul Pull Request dan pesan yang ingin disampaikan ke komunitas.

Pesan Pull Request baru

Setelah itu admin atau owner akan melakukan review kontribusimu.

Biasanya akan terjadi diskusi untuk membahas pull request yang telah kita buat.

Apakah akan ditolak atau diterima?

Kalau diterima, biasanya akan ada tulisan “Marged” berwarna ungu.

Pull Request diterima

Selesai.

Jika ingin berkontribusi lagi, pastikan repository lokal tetap terupdate dengan repository sumber.

Update bisa dilakukan dengan perintah git pull atau git fetch.

Pelajari caranya di sini: Bekerja dengan Remote Repository.

Akhir Kata…

Itulah langkah-langkah yang harus dilakukan untuk berkontribusi pada proyek open source di Github.

Sekecil apapun kontribusimu akan tetap dihargai oleh pemilik repo.

Namun, jangan kecewa apabila ditolak.

Mungkin saja kamu melanggar aturan atau perubahan yang kamu buat bentrok dan menciptakan banyak bugs.

Tetap semangat, dan…

Selamat berkontribusi di dunia open source.

Baca Juga ini

Kumpulan 101+ Link Repositori dan Komunitas Open-source Indonesia di Github

Kumpulan 101+ Link Repositori dan Komunitas Open-source Indonesia di Github

Pada hasil pubilkasi Octoverse 2016, Indonesia masuk peringkat ke-2 dalam kategori negara dengan peningkatan pendaftar baru paling banyak di Github. Ke manakah mereka? Sebagian ada yang aktif berkontribusi pada proyek open-source, sebagian lagi ada yang membentuk organisasi/komunitas di Github. Berikut ini daftar link komunitas dan repositori Github Indonesia yang diambil dari repositori Awesome Indonesia Repo dan beberapa sumber lainnya. Komunitas Github Indonesia Komunitas Git Indonesia PHP Indonesia CodeIgniter Indonesia Laravel Indonesia Id-Laravel Symfonian Indonesia Komunitas Pengguna Go Indonesia Python Indonesia Jakarta JavaScript User Group Bali JavaScript Community React JS Indonesia Nginx Indonesia Asosiasi Programmer Indonesia Django Indonesia Haskell Indonesia Indonesian Ruby Community Kotlin Indonesia JUG Indonesia IDDevOps JVMDeveloperID Hugo Indonesia Lombok Dev Linux Developer Indonesia BlankOn XentaOS Repositori Github IndonesiaAndroid Android StepsView - A simple progress steps view on Android.

Cara Menggunakan SSH di Github

Cara Menggunakan SSH di Github

SSH memungkinkan kita untuk melakukan push ke repository github tanpa login. Berbeda dengan cara yang biasa (melalui HTTPS), kita harus memasukkan username dan password setiap kali melakukan push. Tapi dengan SSH kita tidak akan melakukan itu lagi. 1. Membuat Key SSHJalankan perintah ssh-keygen pada termnial. Kemudian inputkan id (identitas) SSH anda. Untuk passpharse dikosongkan saja. Maka di dalam direktori ~/.ssh/ akan tercipa file key baru. 2.

Cara Membuat Halaman Github Kurang dari 10 Menit

Cara Membuat Halaman Github Kurang dari 10 Menit

Halaman Github (Github Pages) merupakan layanan hosting web statis yang diberikan oleh Github. Layanan ini diberikan secara gratis dan kita juga akan mendapatkan subdomain .github.io. Bagaimanakah cara membuatnya? Baiklah, pastikan anda sudah punya akun Github dan sudah menginstal Git. Kemudian silahkan ikuti langkah-langkah berikut, tidak sampai 10 menit kok. 1. Buat Repositori BaruBuatlah repositori baru dengan nama username.github.io. Gunakan username github Anda, contoh petanikode.github.io. 2.

Tutorial Git #9: Bekerja dengan Remote Repositori

Tutorial Git #9: Bekerja dengan Remote Repositori

Belajar Git untuk berkolaborasi dan bekerja dengan remote repository

Tutorial Git #8: Perbedaan Git checkout, Git Reset, dan Git Revert

Tutorial Git #8: Perbedaan Git checkout, Git Reset, dan Git Revert

Pada tutorial ke-6, kita sudah mebahas cara membatalkan revisi menggunakan perintah git checkout, git reset, dan git revert. Sekilas, tiga perintah tersebut melakukan hal yang sama. Akan tetapi ada perbedaanya. Apa itu? Mari kita bahas… Git CheckoutPerintah git checkout seperti mesin waktu, kita bisa kembalikan kondisi file proyek seperti waktu yang dituju. Misalnya: git checkout 06f735af7724558164c87f6b1ce3ca7778eb1c1b Maka semua file akan dikembalikan seperti keadaan pada nomer commit tersebut. Akan tetapi, ini bersifat temporer (sementara).

Tutorial Git #7: Menggunakan Percabangan untuk Mencegah Konflik

Tutorial Git #7: Menggunakan Percabangan untuk Mencegah Konflik

Bayangkan anda sedang bekerja dengan tim pada suatu repositori Git. Repositori ini dikerjakan secara bersama-sama. Kadang… akan terjadi konflik, karena kode yang kita tulis berbeda dengan yang lain. Misalnya, Si A menulis kode untuk fitur X dengan algoritma yang ia ketahui. Sedangkan si B menulis dengan algoritma yang berbeda. Lalu mereka melakukan commit, dan kode sumber jadi berantakan. Anggota tim yang lain menjadi pusing. Agar tidak terjadi hal yang seperti ini, kita harus membuat cabang (branch) tersendiri.