Advertisement
  1. Code
  2. Tools & Tips

Cara Berkolaborasi di GitHub

by
Difficulty:BeginnerLength:MediumLanguages:

Indonesian (Bahasa Indonesia) translation by Puuma (you can also view the original English article)

Jika Anda belum tahu, GitHub adalah cara yang sangat efektif untuk berkolaborasi dalam proyek pengembangan. Menyediakan tempat bagi siapa saja dengan koneksi internet untuk memiliki jalan di mana mereka dapat berbagi kode dengan dunia secara gratis (belum lagi alat pendukung yang kuat untuk inspeksi sumber dan mudah melihat sejarah komit). GitHub telah diadopsi oleh banyak proyek open-source besar sebagai rumah utama mereka untuk kolaborasi dan kontribusi.

Tetapi bagaimana Anda bergabung dan berkontribusi pada proyek? Tentu, Anda tahu cara menggunakan Git untuk melacak perubahan ke file dan mendorong file tersebut ke server. Tetapi ada manfaat besar untuk terlibat dalam proyek open-source yang lebih besar, dan GitHub bisa dibilang tempat terbaik untuk memulai. Hari ini, kita akan membahas beberapa aturan jalan untuk berkolaborasi dalam proyek sumber terbuka, dan memberi Anda pengetahuan dan intuisi yang Anda perlukan untuk terlibat.


Mulai dari yang Terkecil

Jangan takut untuk memulai dari yang kecil

Salah satu hal terpenting untuk dipahami ketika memulai kolaborasi pada proyek sumber terbuka adalah mengenali peran Anda. Seringkali, ada banyak hal yang dapat dilakukan pengembang yang tidak melibatkan programmer yang sangat pintar. Bahkan, takut menjadi programmer yang tidak memadai sering menjadi alasan mengapa orang tidak terlibat dalam proyek open source untuk memulai. Jangan takut untuk memulai dari yang kecil: daripada mencoba memperbaiki bug utama atau menulis ulang seluruh modul, cobalah menemukan hal-hal seperti kurangnya dokumentasi atau pengujian dan penambalan lintas perangkat, atau bahkan kesalahan sintaksis dan masalah tata bahasa yang sederhana (seperti yang ini dari GitHub pengguna mzgol).

Tugas-tugas semacam ini adalah cara yang baik untuk menjadikan kaki Anda di pintu sebagai penyumbang proyek tanpa berusaha mengambil lebih dari yang dapat Anda tangani. Mendaftar untuk CodeTriage untuk mendapatkan Masalah Gitub otomatis yang dikirim ke kotak masuk Anda. Jika salah satu hits kotak masuk Anda bahwa Anda merasa yakin Anda dapat mengambil, bekerja di atasnya dan mengirim permintaan tarik. (Kita akan berbicara tentang cara melakukannya sedikit lebih jauh di pos.)


Pelajari Ekosistem Proyek

Dengan upaya kolaboratif apa pun, sejumlah konvensi mungkin telah diadopsi. Ini mungkin termasuk satu set kosakata, cara mengkontribusikan dan mengkomit pesan-pesan komit, ritme tertentu dari kolaborasi yang telah disetujui oleh kontributor, atau bahkan standar sintaksis yang telah ditetapkan. Sebelum Anda mencoba terlibat dengan proyek, baca semua dokumen yang terkait dengan hal-hal ini. Sebagai contoh, GitHub telah menstandardisasi file CONTRIBUTING.md (lihat panduan untuk terlibat dengan jQuery untuk contoh yang teliti). Panduan ini dikelola oleh orang-orang yang juga memelihara basis kode dan master branch.

Cara lain untuk memahami ekosistem proyek adalah dengan hanya melihat basis kode yang ada dan git log. Membaca pesan-pesan komit dan membaca dengan teliti gaya kode dapat memberi tahu Anda banyak tentang sebuah proyek. Baca melalui dokumentasi proyek, dan gunakan kosakata yang digunakan sehingga kontribusi Anda menjaga kontinuitas dan menggambarkan suara yang serupa.

Setelah Anda menjadi bagian dari ekosistem budaya proyek, bagaimana Anda benar-benar menyumbangkan kode?


Alur Kerja Tarik-Permintaan untuk Kontribusi Kode

Alur kerja untuk mengkontribusikan kode dapat terasa menakutkan pada awalnya.

Alur kerja untuk mengkontribusikan kode dapat terasa menakutkan pada awalnya. Yang paling penting untuk diingat adalah mengikuti pola dan standar yang digariskan oleh proyek yang sedang Anda kerjakan (seperti yang telah kita diskusikan). Alur kerja umum yang didukung oleh GitHub cukup sederhana.

  1. Fork target repo ke akun Anda sendiri.
  2. Klon repo ke mesin lokal Anda.
  3. Lihat "cabang topik" baru dan buat perubahan.
  4. Dorong cabang topik Anda ke garpu Anda.
  5. Gunakan penampil diff pada GitHub untuk membuat permintaan tarik melalui diskusi.
  6. Lakukan perubahan apa pun yang diminta.
  7. Permintaan tarik kemudian digabungkan (biasanya ke dalam cabang master) dan cabang topik dihapus dari repo hulu (target).

Dalam alur kerja ini, Anda mungkin melihat banyak variasi untuk setiap proyek yang diberikan. Misalnya, konvensi penamaan untuk cabang-cabang topik bervariasi. Beberapa proyek menggunakan konvensi seperti bug_345, di mana 345 adalah ID # dari masalah GitHub yang telah diajukan. Beberapa proyek lebih memilih pesan komit yang lebih pendek daripada yang lain. Berikut ini serangkaian perintah yang akan melengkapi alur kerja di atas.

Langkah 1: Forking

Fork repo pada GitHub.com

github_header
forking

Langkah 2: Cloning

Clone repo menggunakan URL di sidebar kanan:

clone_url

Langkah 3: Menambahkan Remote Hulu

Ubah ke direktori kloning dan kemudian pada titik ini, Anda dapat menambahkan remote hulu:

Hal ini akan memungkinkan Anda untuk menarik perubahan dari sumber secara lokal dan menggabungkannya, seperti:

Langkah 4: Memeriksa Cabang Topik

Namun, sebelum Anda membuat perubahan sendiri, periksa cabang topik:

Langkah 5: Berkomitmen

Sekarang, Anda dapat membuat perubahan, dan membuat komit yang hanya melacak perubahan tersebut.

Langkah 6: Mendorong

Selanjutnya, Anda akan mendorong cabang topik ini ke fork proyek Anda sendiri.

Langkah 7: Membuat Permintaan Tarik

Akhirnya, Anda akan membuat permintaan tarik. Pertama, pergi ke fork repo Anda. Anda mungkin melihat "cabang yang baru saja didorong", dan jika demikian, Anda dapat memilih "Bandingkan dan Tarik Permintaan". Jika tidak, Anda dapat memilih cabang Anda dari dropdown, dan kemudian klik "Pull Request" atau "Compare" di kanan atas bagian repo.

compare_pull_request
Membuat permintaan tarik melalui tombol Compare and Pull Request.
switch_branches
Membuat permintaan tarik melalui menu tarik-turun cabang.

Salah satu dari ini akan membawa Anda ke halaman di mana Anda dapat membuat permintaan tarik dan mengomentari permintaan tersebut. Halaman ini juga mencakup visualisasi perubahan yang Anda buat. Hal ini memudahkan administrator proyek untuk melihat apa yang telah Anda lakukan dan membuat keputusan yang lebih mudah tentang apakah pantas untuk menggabungkan commit Anda. Jika mereka memiliki pertanyaan, mereka dapat menanyakannya di komentar; mereka juga dapat meminta Anda untuk membersihkan permintaan tarik Anda dan mengirimkan kembali, dan kemudian tutup pull request.

Perhatikan bahwa itu sangat penting bahwa Anda menunjukkan kepada administrator proyek penuh rasa hormat; setelah semua, Anda selalu dapat menggunakan versi kode bercabang Anda, dan jika mereka memilih untuk tidak menarik perubahan Anda, itu karena mereka memiliki posisi untuk melakukannya. Ingat, menurut masukan Github Employee Zach Holman dalam "Bagaimana GitHub Menggunakan GitHub untuk Membangun GitHub", pull request adalah percakapan. Beginilah cara mereka diperlakukan; alih-alih mengharapkan komitmen Anda untuk diterima, Anda harus mengharapkan hanya bahwa itu akan membuka percakapan tentang kode yang Anda tulis.


Masalah GitHub + Pull Requests = Manajemen Proyek Zen

GitHub menawarkan GitHub Issues, yang merupakan cara yang kuat untuk membuat percakapan yang didokumentasikan, interaktif, dan otomatis tentang bug atau fitur untuk setiap proyek yang diberikan. Sementara Masalah dapat dinonaktifkan, mereka diaktifkan secara default. Ada banyak fitur luar biasa yang Masalahnya sudah ada di dalamnya, tetapi salah satu fitur terpenting adalah integrasinya dengan pull request. Seorang pengguna dapat mereferensikan masalah dalam pesan komit mereka hanya dengan memasukkan ID numerik masalah dalam pesan commit. Contohnya:

Pesan commit ini akan menandai masalah #3 secara otomatis ketika permintaan tarik terkait diterima. Otomatisasi semacam ini menjadikan GitHub alat yang luar biasa untuk manajemen proyek pengembangan.


Cari Saluran Kolaborasi Sekunder

Seringkali, proyek-proyek sumber terbuka besar mendapat manfaat dari berbagai jenis pekerjaan kolaboratif.

Jangan terjebak dengan berpikir bahwa satu-satunya cara Anda dapat berkontribusi adalah melalui permintaan tarik. Seringkali, proyek-proyek sumber terbuka besar mendapat manfaat dari berbagai jenis pekerjaan kolaboratif. Misalnya, proyek seperti Ruby on Rails terkenal untuk komunitasnya; komunitas ini akan menjawab pertanyaan di forum dan di ruang obrolan IRC untuk membantu membangun pengetahuan tentang kerangka kerja, dan juga akan membantu mendorong arah masa depan kerangka kerja dengan berbicara tentang ide dan mengungkap bug.

Saluran kolaborasi ini biasanya dibuka sebagai lingkungan dukungan seperti yang disebutkan sebelumnya, seperti forum dan ruang obrolan. Mungkin juga ada rantai email, pertemuan, atau panggilan konferensi yang membantu menentukan arah proyek dan menciptakan komunitas yang produktif dan hidup di sekitar proyek. Tanpa komunitas semacam ini, permintaan tarik jauh kurang efektif.


Kebanyakan dari Semua, Ini Tentang Sikap Anda

Ingat, open source didorong oleh orang-orang yang memiliki sikap yang berbagi pengetahuan dan membangun kecerdasan kolaboratif adalah usaha yang berharga. Keterlibatan Anda dalam proyek-proyek ini akan sangat efektif jika Anda mendekati proyek tertentu dengan sikap ingin tahu yang bertanya, "bagaimana saya bisa membantu?" daripada sikap tertutup yang mengatakan "Aku akan membantu bagaimanapun yang aku inginkan." Orang-orang di dunia open source ingin bekerja dengan orang-orang yang benar-benar didorong untuk membantu orang lain.


Kesimpulan

Jika Anda tertarik untuk terlibat dalam proyek open source, bagus! Ingat, jika Anda mendekati proyek dengan sikap yang benar dan memulai dari yang kecil, Anda dapat melihat nama Anda pada pull request yang digabung menjadi kode yang didistribusikan kepada orang-orang di seluruh dunia dan digunakan setiap hari. Luangkan waktu untuk mempelajari tentang proyek dan orang-orang yang terlibat dengan proyek. Kembangkan minat yang tulus dalam membantu proyek menjadi lebih baik. Kekuatan GitHub dan dunia open-source terus bertambah setiap hari; mulai berkolaborasi dengan pengembang lain, dan Anda bisa menjadi bagian dari dunia itu!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.