Version Controll System – bekerja dengan tim memang mengharuskan kita untuk saling berbagi informasi, bertukar pendapat, dan saling membatu satu sama lain untuk tujuan bersama. Hal tersebut juga berlaku pada dunia IT dalam membagun sebuah produk (software development).
Dalam proses pengembangan suatu aplikasi, sebuah tim harus saling bersinergi untuk membangun sistem yang baik dan memiliki performa yang tinggi. Mereka membagun ribuan source code bersama untuk membentuk suatu aplikasi. Namun, pernahkan terfikirkan di benak kamu, bagaimana cara mereka menggabungkan source code dari masing-masing programmer menjadi satu?
Yap, mereka menggunakan sebuah tools yang sangat populer digunakan untuk melakukan manajemen source code, versioning, tracking, dan masih banyak lagi menggunakan version contoll system. Apakah itu? yuk baca artikel ini sampai tuntas.
Apa itu Version Controll System?
Version Controll Syste (VCS) adalah sebuah kumpulan perangkat lunak yang sudah terintegrasi dan digunakan untuk membantu software engineer dalam mengelola perubahan setiap perubahan source code yang dilakukan (Atlassian).
Dengan menggunakan version controll, kamu dapat melacak setiap modifikasi, deleted, maupun updated setiap code yang kamu buat. Kamu dapat membandingkan kode sekarang dengan kode sebelum dubah bila terjadi ketidakcocokan maupun kesalahan.
Karena sistem pelacakan yang akurat, version controll system dapat mengurangi gangguan serta kesalahan pada kinerja semua tim anggota engineering.
Apa saja jenis-jenis version controll system?
Ada beberapa jenis VCS yang sering digunakan oleh software engineering untuk maintenance source code yang dibuat. Setiap jenis berikut memiliki manfaatnya masing-masing yang digunakan sesuai kebutuhan.
1. Local Version Controll System
Local Version Controll System merupakan salah satu bentuk VCS yang paling sederhana dan memiliki database yang menyimpan semua perubahan pada file dibawah kontroll revisi.
Revision Controll System itu sendiri adalah salah satu tool VCS yang paling umum digunakan dimana mereka membuat patch set (perbedaan antara file) dalam format khusus pada disk.
Sehingga dengan menambahkan semua patch, maka kamu dapat kembali ke perubahan bentuk file apa saja pada suatu waktu.
2. Centralized Version Controll System
Centralized Version Controll System (CVCS) atau VCS terpusat hanya mengandung satu repository dan setiap pengguna mendapatkan copy atau salinan pekerjaan mereka sendiri.
Kamu harus dapat melakukan commit untuk dapat mencerminkan perubahan anda pada repository. Hal ini juga dimungkinkan bagi orang lain untuk melihat perubahan anda dan memperbaruinya.
3. Distributed Version Controll System
Distributed Version Controll System berisi beberapa repository dimana setiap pengguna memiliki repository dan salinan dari pekerjaan meraka sendiri. ketika kamu melakukan perubahan, hal tersebut tidak akan memberi orang lain akses ke perubahan kamu.
Hal ini karena commit akan mencerminkan perbahn-perubahan itu di repository local kamu dan perlu melakukan push untuk membuatnya dapat terlihat di repository pusat.
Demikian pula, ketika kamu memperbarui, kamu tidak mendapatkan perubahan lain kecuali kamu terlebih dahulu melakukan pull atau menarik perubahan itu ke dalam repository local kamu.