Sederhananya, GitHub adalah "hub" di mana orang dapat berkolaborasi dalam berbagai dokumen. Meskipun GitHub bekerja dengan segala sesuatu mulai dari dokumen Word hingga spreadsheet Excel, GitHub paling populer digunakan oleh pengembang yang ingin berkolaborasi dalam kode. GitHub memungkinkan akses pengembang ke Git, sistem kontrol versi (VCS) yang dirancang khusus untuk proyek pemrograman. Kami telah mengambil beberapa waktu untuk menjelaskan Git dan bagaimana GitHub telah merevolusi pemrograman kolaboratif.
Apa itu Git?
Ingat berkolaborasi dalam laporan grup sekolah tinggi pada hari-hari sebelum Google Docs? Anda akan mengirim laporan melalui email, memastikan semua orang mendapatkan kontribusi mereka. Terkadang Anda melakukan pengeditan terhadap kontribusi dan email Anda di sekitar salinan yang diperbarui. Tak lama, ada sekitar tiga hingga lima salinan yang beredar, masing-masing berisi beberapa tetapi tidak semua hasil pengeditan akhir. Akhirnya, salah satu dari Anda akan pergi dan mengambil tugas yang memabukkan untuk mengurangi semua versi menjadi satu dokumen yang up-to-date.
Akhirnya, Google Docs akan membuat kolaborasi pada dokumen sekitar seribu kali lebih mudah, memungkinkan Anda semua untuk bekerja dalam satu sistem pada dokumen yang sama dan melacak pembaruan. Googledocs, seperti Git, adalah sistem kontrol versi. Ini dirancang untuk melacak dan menggabungkan pembaruan, membuatnya lebih mudah untuk bekerja secara kolaboratif dalam satu proyek.
Git adalah VCS yang dibuat oleh Linus Trovalds, pencipta Linux, jadi Anda sudah tahu ini akan menjadi ramah pengembang. Bahkan, itu ramah pengembang dengan mengorbankan jenis file lainnya. Daripada mengizinkan pembaruan waktu nyata, seperti Googledocs atau pendahulunya GitHub dalam industri pemrograman, itu mengharuskan orang untuk mengunduh versi lengkap dari proyek dan mengeditnya secara lokal. Mereka kemudian mengunggah pembaruan mereka. Akibatnya, ada banyak "pembaruan" dokumen yang dilacak dalam sistem.
Ini akan terdengar menakutkan jika Anda ingin berkolaborasi dalam PowerPoint atau Word. Tapi itu ideal untuk para programmer. Lagi pula, terlalu banyak juru masak mengedit kode dalam dokumen yang sama dapat merusak integritas kode secara signifikan. Terlebih lagi, perubahan di satu tempat dapat memengaruhi cara bagian lain dikodekan. Jika pengembang perorangan tidak mengetahui apa yang dilakukan rekan mereka, ini bisa menimbulkan kebingungan dan potensi bencana untuk kode.
Sebagai gantinya, setiap pengembang harus bekerja dengan "kanvas kosong" dari versi utama proyek yang ada. Mereka mengunggah versi yang diubah ke "lingkungan pementasan". Dari sana perubahan dapat "berkomitmen" pada produk akhir. Setelah perubahan dilakukan, mereka adalah bagian dari kode utama yang akan diunduh untuk perubahan di masa mendatang. Dengan cara ini, Git membuatnya lebih mudah untuk melihat, menerima, menolak, dan mengembalikan perubahan, melindungi kode halus dari bencana.
Fitur GitHub
GitHub adalah "hub" untuk bekerja dengan format Git VCS. Muncul dengan berbagai fitur untuk membuat hidup pengembang lebih mudah.
- Repositori - Biasa disebut "repo, " ini adalah tempat semua versi terbaru (dan versi utama) dari sebuah proyek disimpan. Ini adalah tempat pementasan Anda untuk proyek tersebut. Setiap repo memiliki URL unik untuk akses yang mudah.
- Forking - Kecuali pengembang membayar untuk repositori pribadi, proyek mereka dapat dilihat oleh semua anggota komunitas GitHub lainnya. Jika anggota ini merasa mereka dapat memberikan kontribusi yang layak, maka mereka dapat membuat proyek baru (repositori) dari Anda. Ini disebut "forking a repo."
- Tarik Permintaan - Setelah memalsukan repo dan membuat perubahan baru pada kode yang ada, pengguna GitHub dapat mengundang pengembang dari repositori asli untuk melihat perubahan.
- Penggabungan - Jika Anda menyukai perubahan yang dilakukan seseorang setelah melakukan penyimpanan repositori Anda, Anda dapat memilih untuk menerima perubahan tersebut dan menggabungkannya dengan repositori yang ada.
- Changelogs - Ini memungkinkan pengembang mengerjakan proyek tunggal melihat semua perubahan, siapa yang membuatnya, dan kapan.
- Jaringan - GitHub mempermudah pengembang pemula untuk terlihat. Setiap pengguna sebagai profil yang menunjukkan proyek yang mereka kerjakan dan setiap forking yang telah mereka lakukan. Saat Anda mengajukan permintaan tarik, pengembang yang Anda kirimkan dapat melihat profil Anda. Ini memberi tahu mereka sedikit tentang keahlian Anda dan dapat memberi tahu apakah mereka menggabungkan perubahan atau tidak.
Masa Depan Pemrograman
Forking secara luas dianggap sebagai fitur unggulan GitHub. Dengan mempermudah programmer untuk mendapatkan perhatian, mereka meratakan lapangan permainan. Terlebih lagi, sifat sosial dan kolaboratif platform membuatnya lebih mudah untuk proyek-proyek yang lebih kecil untuk mendapatkan perhatian dan dibuat.