Anda di sini

Ilmu Umum

Git: Mengenal Apa Itu Version Control System

Aditya Suranata - 15 Juli 2016 21:27:02 0

Apa itu Version Control ?

Apakah sebenarnya "version control" itu, dan kenapa kita harus tahu?

Version control adalah sebuah sistem yang mencatat semua perubahan yang terjadi pada file atau sekumpulan file seiring dengan waktu, jadi dengan demikian kamu dapat memanggil versi spesifiknya dilain waktu. Sebagai contoh, file yang akan kamu kontrol adalah kode-kode program, meskipun pada umumnya kamu dapat mengontrol jenis file apapun yang ada di komputer mu.

Jika kamu seorang desainer grafis, desainer web atau bahkan seorang mahasiswa yang sedang menggarap skripsi dan ingin menyimpan versi dari gambar-gambar, dokumen, atau layout (yang tentunya paling sering kamu perlukan), maka sebuah Version Control System (VCS) adalah suatu hal yang sangat bijak untuk digunakan. Ia akan memungkinkan mu untuk mengembalikan file ke kondisi sebelumnya, membandingkan perubahan yang terjadi seiring waktu, melihat siapa-siapa saja yang terakhir melakukan perubahan yang mungkin menyebabkan terjadinya masalah, siapa yang membuka isu dan kapan isu tersebut dibuka, dan banyak lagi hal lainnya. Menggunakan sebuah VCS juga secara umum berarti bahwa jika kamu merusak sesuatu atau kehilangan file-file, kamu dapat dengan mudah menanggulanginya. Sebagai tambahan, sekarang kamu juga bisa mendapatkan semua kemudahan ini hanya dengan sedikit usaha. Telah tersedia secara gratis VCS yang memiliki set komplit, salah satunya adalah Git & GitLab.

Sejarah Singkat dari Git

Sama halnya dengan berbagai hal-hal besar yang terjadi dalam hidup, Git dimulai dengan sedikit permasalahan dan kontroversi yang menghadang dalam pengembangan suatu proyek perangkat lunak.

Linux kernel adalah sebuah proyek perangkat lunak open source yang sangat besar dan luas. Sepanjang masa hidup dari pemeliharaan Linux kernel yang terjadi pada rentang tahun 1991-2002, segala perubahan yang ditujukan padanya dikirimkan dalam bentuk patch dan file arsip. Namun, pada tahun 2002, proyek Linux kernel mulai menggunakan Distributed VCS (DVCS) berbayar yang bernama BitKeeper.

Kemudian pada tahun 2005, hubungan antara komunitas yang mengembangkan Linux kernel dan perusahaan komersil yang mengembangkan BitKeeper putus, dan tools free-of-charge nya ditarik. Hal ini mengharuskan komunitas pengembang (dan khususnya Linus Trovalds, sang pembuat Linux) untuk membuat sendiri tools mereka berdasarkan dari beberapa pelajaran dan pengalaman yang mereka dapatkan selama menggunakan BitKeeper. Beberapa tujuan dari sistem baru yang akan dibuat tersebut adalah sebagai berikut:

  • Kecepatan
  • Desain sederhana
  • Dukungan yang kuat untuk pengembangan non-linear (ribuan branch/cabang parallel)
  • Sepenuhnya terdistribusi
  • Mampu menangani proyek besar seperti Linux kernel secara efisien (kecepatan dan ukuran data)

Semenjak kelahirannya pada tahun 2005, Git telah terlibat dan makin matang untuk digunakan dan hingga kini tetap mempertahankan kualitas awalnya. Ia luar biasa cepat, ia sangat efisien untuk proyek berskala besar, dan ia memiliki sistem percabangan / branching system yang luar biasa untuk pengembangan yang non-linear.

Apa itu Git

Jadi, singkatnya apa sebenarnya Git itu?

Ini adalah penjelasan yang sangat penting untuk dipahami, karena jika kamu mengerti apa itu Git dan dasar bagaimana ia bekerja, maka menggunakan Git secara efektif tentu akan lebih mudah untuk mu. Seiring dengan kamu mempelajari bagaimana menggunakan Git, coba untuk bebaskan pikiran mu dari hal-hal yang kamu ketahui dari VCS-VCS lainnya selain Git, seperti misalnya Subversion dan Perforce; dengan demikian akan membantu mu untuk menghindari kebingungan ketika menggunakan tools ini. Git menyimpan dan memproses informasi dengan cara yang sangat berbeda dengan system-system lainnya, meskipun antarmukanya cukup mirip, dan memahami perbedaan tersebut akan mencegah mu dari kebingungan ketika menggunakannya.

Git Menggunakan Snapshots, Bukan Differences

Perbedaan terbesar antara Git dan VCS lainnya (termasuk Subversion dan kawan-kawannya) adalah dalam hal bagaimana Git berpikir tentang data-datanya. Secara konseptual, kebanyakan dari VCS lainnya menyimpan informasi dalam bentuk daftar dari perubahan-perubahan yang berbasis file. Sistem-sistem tersebut (CVS, Subversion, Perforce, Bazaar, dan lainnya) memikirkan informasi-informasi yang mereka simpan sebagai sekumpulan file dan perubahan-perubahan yang terjadi pada setiap file seiring dengan waktu.

Git tidak memikirkan atau menyimpan data dengan cara seperti gambar diatas. Namun, Git berpikir tentang data-datanya lebih seperti sekumpulan snapshot dari miniatur filesystem. Setiap kali kamu melakukan komit, atau menyimpan kondisi terkini dari proyek mu di Git, ia pada dasarnya mengambil sebuah gambar dari file-file mu secara keseluruhan pada saat itu dan menyimpan sebuah referensi ke snapshot tersebut. Agar menjadi efisien, Git tidak menyimpan lagi filenya, hanya tautan ke file identik yang sebelumnya telah tersimpan. Git memikirkan data-datanya lebih seperti aliran dari banyak snapshot.

Ini adalah perbedaan yang penting antara Git dan kebanyakan VCS lainnya. Ini membuat Git memperhitungkan ulang hampir setiap aspek dari version control yang kebanyakan sistem lainnya salin dari generasi sebelumnya. Ini juga membuat Git lebih seperti mini filesystem dengan beberapa tools powerful yang dibangun diatasnya, ketimbang hanya sebuah VCS sederhana.

Untuk lebih mengenal Git, dan dapat dengan segera memanfaatkan seluruh potensi yang ditawarkan oleh Git, baik untuk keperluan personal maupun perusahaan mu, maka silahkan melanjutkan dengan mengunduh ebook lengkap yang dirilis resmi oleh komunitas Git dengan judul Pro Git: Everything You Need To Know About Git.

1.106
Image

Aditya Suranata

Aditya suka menulis, bukan hanya sekedar hobi, menulis menjadi medianya untuk mencurahkan pikiran dan perasaan. Di TutorKeren.com kebanyakan menyumbang tulisan sesuai dengan minat dan keahliannya yaitu pada kategori pemrograman dan elektronika. Selain itu juga gemar menulis mengenai hal-hal umum, seperti ilmu alam, sosial dan beberapa pengalamannya yang mungkin bisa berguna untuk orang lain.

Mari Gabung

Halo Emo 51 , Ada yang ingin disampaikan? Jangan sungkan untuk gabung diskusi ini. Silahkan Login dulu atau Daftar baru.