Apa itu Version Control

0
520
views

Apa itu Version Control? Apa anda pernah melakukan hal berikut?

Version control adalah system yang menyimpan perubahan pada file atau beberapa file selama kurun waktu sehingga dapat digunakan versi yang diinginkan. Misalkan anda seorang web designer dan menginginkan setiap versi perubahan layout untuk disimpan, maka Version Control System (VCS) adalah tools yang sangat tepat untuk digunakan. VCS memungkinkan anda untuk mengembalikan file anda diposisi sebelumnya, mengembalikan projek diposisi sebelumnya, membandingkan tiap perubahan yang terjadi, mengetahui siapa yang merubah file dan apa perubahannya, dan lain sebagainya. Menggunakan VCS juga memungkinkan anda untuk mengembalikan posisi system ketika terjadi kekacauan atau file hilang.

 

Local Version Control System

Kebanyakan orang menggunakan metode Version Control dengan cara meng-copy file ke folder lain. Metode ini seringkali dilakukan karena simple, tetapi juga memungkinkan kesalahan. Dengan metode tersebut seringkali kita lupa file mana yang seharusnya kita gunakan atau salah melakukan update pada file yang tidak seharusnya. Untuk mengatasi hal tersebut, programmer telah mengembangkan Local Version Control System (LVCs) yang memiliki database sederhana yang berguna untuk menyimpan semua perubahan yang telah dilakukan.

Centralized Version Control Systems

Masalah selanjutnya yang kita hadapi adalah adanya kebutuhan untuk berkolaborasi dengan pengembang lainnya. Adanya beberapa programmer yang mengembangkan suatu aplikasi secara bersamaan memungkinkan terjadinya kesalahpahaman (file programmer A ditimpa oleh file programmer B). Untuk mengatasi hal ini, dikembangkanlah Centralized Version Control System (CVCS). CVSC hampir mirip dengan CVS yang memiliki satu server yang berisikan semua version file, dan beberapa client yang dapat checkout file ke server pusat. Selama beberapa tahun CVCS telah menjadi standard untuk version control.

Dengan menggunakan CVCS, memungkinkan kita untuk mendapatkan banyak manfaat. Salah satunya, semua yang memiliki akses atau terlibat dalam projek dapat mengetahui apa yang dikerjakan masing-masing anggota. Administrator memiliki kontrol terhadap siapa yang berhak untuk melakukan sesuatu, selain itu juga lebih mudah untuk mengkontrol CVCS daripada database lokal pada masing-masing klien.

Akantetapi, CVCS juga memiliki kekurangan. Yang paling mendasar adalah adanya single point of failure yang diakibatkan karena centralized server. Jika server tersebut mati dalam satu jam, maka semua tim projek yang menggunakan CVCS tersebut tidak dapat menyimpan perubahaan yang telah mereka lakukan. Jika hardisk server central tersebut corrupt atau rusak, dan backup belum dilakukan, maka hamper semua data history projek akan hilang, kecuali snapshot terakhir yang ada pada masing-masing klien.

Distributed Version Control Systems

Disinilah munculnya model baru, yaitu Distributed Version Control Systems (DVCS) yang melengkapi kelemahan CVCS. Pada DVCS (seperti GIT, Mercurial, Bazaar, dsb), klien tidak hanya melakukan checkout pada versi file terakhir, namun seluruh copy dari repository. Oleh karena itu, jika server mati atau hardisk corrupt, maka repository yang berada pada client dapat dicopy kan ke server untuk memulihkan server. Tiap clone merupakan full backup dari semua data.

 

Setelah membaca artikel diatas, diharapkan anda sudah mengetahui apa itu version control. Selanjutnya anda dapat membaca artikel berikut untuk menggunakan GIT (Salah satu Distributed Version Control System yang banyak dipakai)

Cara menggunakan GIT

Jika anda merasa artikel “apa itu version control” ini bermanfaat bagi teman anda, anda bisa membagikannya menggunakan tombol share dibawah.

Previous articleCara Setting Akses CentOS untuk Server
SHARE

Leave a Reply