VERSION CONTROL SYSTEM
a) Mengurangi Resiko Kehilangan Data Tanpa Version Control System, ada risiko tinggi kehilangan pekerjaan yang telah dilakukan jika terjadi kesalahan atau kerusakan pada sistem. Dengan adanya sistem ini, kita bisa lebih tenang karena selalu ada versi sebelumnya yang dapat diambil kembali.
b) Meningkatkan Efisiensi Kerja Penggunaan Version Control System dapat meningkatkan efisiensi kerja. Kita tidak perlu lagi manual menyimpan versi berbeda dari file yang dikerjakan, sistem ini akan melakukan secara otomatis setiap kali ada perubahan yang disimpan.
c) Mempermudah Penelusuran Ketika masalah muncul, kita bisa menelusuri kembali apa yang berubah dan siapa yang mengubahnya. Version Control System menyediakan fitur ini dengan mudah dan cepat.
a) Local Version Control System
File akan disimpan dalam penyimpanan lokal suatu komputer, setiap ada perubahan kode hal tersebut akan disimpan dalam file baru sehingga terlihat jelas perubahan antar versi. Namun, kelemahannya adalah ketika penyimpanan lokal tersebut rusak, semua kode nya akan hilang. Selain itu, kita tak bisa berkolaborasi dengan orang lain karena kode tersebut hanya tersimpan di dalam penyimpanan lokal.
b) Centralized Version Control System (CVCS)
File akan disimpan dalam satu server, sehingga memungkinkan orang lain untuk mengunduh versi terbaru dari file yang ada. Dengan adanya administrator yang mengontrol file tersebut kolaborasi dapat dilakukan. Kelemahan dari CVCS adalah ketika satu-satunya server tersebut rusak sehingga kita tidak dapat mengakses dan mengupload kode yang sudah dibuat.
c) Distributed Version Control System (DVCS)
File akan disimpan didalam server serta pemyimpanan lokal komputer. Ketika ada orang yang mengunduh file dari server, dia akan mengunduh semua versi dari file tersebut. Dengan demikian, file tersebut tetap aman ketika server nya rusak karena salinan lengkap file tersebut ada di banyak komputer yang telah mengunduhnya. Orang yang memiliki salinan file tersebut tinggal menggungahnya kembali ke server yang baru.
Version Control System merupakan alat yang sangat penting dalam pemrograman dan pengembangan perangkat lunak. Dengan memanfaatkannya dengan baik, kita tidak hanya meningkatkan produktivitas tetapi juga meningkatkan kualitas kerjasama dalam tim dan mencegah kehilangan data yang berharga.