Apa Perbedaan Git dan GitHub? Berikut Penjelasannya

Apa Perbedaan Git dan GitHub? Berikut Penjelasannya

Seiring berjalannya waktu, setiap pekerjaan manusia selalu mengalami pembaharuan untuk lebih efisien. Tujuannya tidak lain adalah menyederhanakan prosedur pekerjaan yang cenderung berbelit-belit. Begitupun dengan programmer dalam menyusun kode script yang rumit dan panjang membutuhkan kerja tim. Seperti halnya Git dan GitHub muncul untuk membantu pekerjaan tim programmer dalam menyusun kode script.

Github

Git dan GitHub merupakan dua platform yang didirikan oleh satu perusahaan dengan tujuan sama serta fitur yang berbeda. Namun kedua platform ini sangat membantu pekerjaan programmer dalam menyusun kode script secara tim. Seluruh pekerjaan juga dapat dipantau dan dievaluasi dengan mudah karena penggunaan kontrol sistem.

Saat ini, hampir menjadi kewajiban bagi programmer untuk menggunakan kedua platform ini dalam pekerjaannya. Lebih jelasnya, ketahui terlebih dahulu pengertian dari kedua platform berikut ini.

Pengertian

A. Version Control System (VCS)

Version Control System (VCS) adalah sebuah sistem yang melakukan source code management (SCM) )untuk mengelola perubahan di setiap dokumen, program komputer, website, dan kumpulan pemrograman lainnya.

Copy-paste file

Gambar 1. Sebelum VCS

Lebih jelasnya kamu bisa merasakan contoh kasus yang biasa dilakukan oleh seorang mahasiswa dalam mengerjakan skripsinya. Setiap melakukan revisi, file yang telah lalu tidak akan dibuang dan akan disimpan dengan nama yang berbeda. Sedangkan yang terbaru akan disimpan dengan nama; misal “Skripsi (Revisi Ke-2)”.

Kegiatan tersebut akan dilakukan secara terus menerus hingga dalam satu folder skripsi terdapat file Ms. Word dengan kuantitas yang banyak. Tujuan tersebut tidak lain adalah untuk menyimpan history pekerjaan mahasiswa. Hingga akhirnya file terakhir selesai dengan nama “Skripsi Alhamdulillah Wis Udah”.

Konsep pekerjaan tersebut dianggap tidak efisien oleh banyak developer karena kapasitas penyimpanan akan membengkak. VCS disini berfungsi untuk membantu penyimpanan berupa history tanpa menyimpan file baru, yang tersimpan hanya perubahan data. Sehingga kapasitas penyimpanan file menjadi ringan.

commit changing

Gambar 2. Setelah VCS

Seperti halnya pada gambar diatas, setiap perubahan data secara manual akan menghasilkan lebih banyak file. Sedangkan pada VCS mengusung konsep menyimpan rekaman perubahan dengan satu file saja.

B. Git

Git

Git merupakan software berbasis Version Control System (VCS) yang bertugas untuk mencatat perubahan seluruh file atau repository suatu project. Developer software biasa menggunakan Git untuk distributed revision (VCS terdistribusi), hal ini bertujuan untuk menyimpan database tidak hanya ke satu tempat. Namun semua orang yang terlibat dalam penyusunan kode dapat menyimpan database ini.

Prosedur yang diterapkan ini dapat membantu antar divisi project untuk memantau dan menghubungkan (merge) antar ekstensi yang berbeda dengan mudah. Sehingga aplikasi yang dibuat oleh sebuah tim project dapat berfungsi tanpa menghubungkan secara manual.

Terdapat istilah commit pada Git yang berfungsi untuk menyimpan riwayat perubahan data pada file. Melalui commit, developer dapat kembali ke source code sebelumnya dengan istilah checkout.

Untuk mengoperasikan Git, kamu perlu menginstall software terlebih dahulu sehingga pekerjaan ini dapat dilakukan secara offline (tidak terkoneksi internet). Software ini juga tersedia secara gratis melalui web unduhan resminya di Git Downloading.

C. GitHub

Github

GitHub merupakan layanan cloud yang berguna untuk menyimpan dan mengelola sebuah project yang dinamakan repository (repo git). Cara kerja pada GitHub harus terkoneksi pada internet sehingga tidak perlu meng-install sebuah software ke dalam perangkat keras. Hal ini memberikan keringanan penyimpanan komputer yang kita gunakan karena file project tersimpan oleh cloud GitHub.

Konsep kerja GitHub pada dasarnya sama dengan Git yaitu dapat menulis source code secara individu atau tim. User interface yang tersedia pada GitHub lebih menarik dan mudah dipahami oleh pengguna awal. Pekerjaan secara tim, pengguna juga bisa melihat siapa penulis kode dan tanggal berapa kode tersebut dibuat.

Terdapat fitur lain pada GitHub yaitu kita dapat membaca berbagai blog dan feed yang dibuat oleh sesama pengguna. Hal ini dimanfaatkan oleh pengguna seluruh dunia untuk saling berbagi ide pemrograman dan berdiskusi dalam menyelesaikan masalah. Tentunya postingan yang ada pada GitHub berkaitan dengan pemrograman. Sehingga Github telah menjadi forum diskusi para programmer seperti halnya media sosial.

Semenjak GitHub diakuisisi oleh Microsoft di tahun 2018, platform ini berkembang semakin baik dan unggul. Sehingga mayoritas programmer lebih mengenal GitHub dalam program VCS daripada pesaingnya seperti GitLab dan Atlassian BitBucket.

Perbedaan

Logo Github

Perbedaan antara Git dan GitHub sangat unik dan memiliki keunggulan masing-masing. Berikut ini perbedaan dari kedua platform tersebut.

Git GitHub

1. Meng-install software di penyimpanan lokal

2. Dikelola oleh The Linux Foundation

3. Berfokus pada version control dan code sharing

4. Akses secara offline

5. Tidak menggunakan fitur user management

6. Menyediakan desktop interface bernama “Git GUI”

7. Bersaing dengan Mercurial, Subversion, IBM, Rational Team, Concert, dan ClearCase

8. Open sourced licensed

1. Host melalui layanan cloud

2. Diakuisisi oleh Microsoft pada 2018

3. Berfokus pada source code hosting terpusat

4. Akses secara online

5. Menggunakan user management

6. Menggunakan nama desktop interface “GitHub Desktop”

7. Bersaing dengan GitLab dan Atlassian BitBucket

8. Pilihan bagi pengguna gratis dan pengguna berbayar

Alasan Mengapa Penting

Di akhir artikel ini, ada beberapa alasan mengapa programmer perlu menggunakan Git dan GitHub ke dalam pekerjaannya.

  • Alat Perencanaan, kamu dapat merencanakan suatu kegiatan dan menetapkan pekerjaan kepada anggota tim. Jadwal dapat diatur sendiri dan ini semua diperoleh dari Git dan/atau GitHub.
  • Sederhana, mengoperasikan GitHub sebenarnya mudah jika terbiasa menggunakannya.
  • Pengembangan Non-Linear, platform ini memungkinkan programmer dalam mengubah kode secara otomatis. Hal tersebut dapat menghemat waktu bagi programmer untuk menyusun dan mengubah sebuah kode.
  • Terdapat pilihan penggunaan single use dan double use. Kamu bisa menggunakan Git saja atau GitHub saja dalam mengolah kode (single use). Sedangkan double use menggunakan Git dan GitHub dengan pekerjaan yang berbeda. Kamu bisa mengerjakan kode secara offline dan online dengan fitur push atau pull dalam transfer commit.

Kesimpulan

  • Version Control System adalah sebuah sistem yang menyimpan rekaman yang terdiri dari perubahan source code. VCS juga memungkinkan bekerja kolaborasi yang lebih baik.
  • Git merupakan alat version control.
  • GitHub merupakan alat version control sekaligus penyimpanan cloud.
  • Kedua platform ini pada konsep kerjanya hampir sama dengan Dropbox dan Google Drive, hanya saja Git dan GitHub bekerja untuk mengolah kode script. Sedangkan DropBox dan Google Drive bertugas untuk mengolah kata.
  • Jika kamu berencana untuk menjadi programmer, kamu perlu mengenal dan membiasakan diri menggunakan Git dan GitHub dengan segera. Karena hampir semua perusahaan berbasis teknologi telah menggunakan kedua platform ini untuk pekerjaan karyawannya.

“Pengalaman adalah istilah orang yang diberikan untuk kesalahan mereka.” (Oscar Wilde)

Baca juga artikel terkait lainnya di Dicoding berikut ini :

  1. Apa itu Rate Limit pada Github API
  2. Database Inspector : Tool yang Memudahkan saat Mengelola Database
  3. Berkenalan dengan apa itu Intellij IDEA
  4. Belajar Membuat gRPC Microservice dengan Line Armeria dan Spring WebFlux

Apa Perbedaan Git dan GitHub? Berikut Penjelasannya – karya Alfian Dharma Kusuma, Intern Junior Content Writer di Dicoding

 

Belajar mengembangkan aplikasi atau game dengan kurikulum yang telah divalidasi langsung oleh industri dengan Dicoding Academy.

Belajar di Dicoding Sekarang →
Share this:

Intern Junior Content Writer di Dicoding