ASSALAMU'ALAIKUM Wr.Wb.
VCS sendiri adalah Version control system adalah sebuah sistem yang mencatat setiap perubahan terhadap sebuah berkas atau kumpulan berkas sehingga pada suatu saat anda dapat kembali kepada salah satu versi dari berkas tersebut.
Sejarah Git
Dari yang pernah saya baca, Git dikembangkan karena kebutuhan pengembangan kernel Linux. Sebelum menggunakan Git, pengembangan kernel Linux menggunakan DVCS (Distributed Version Control System) proprietary yang bernama BitKeeper, itu dimulai pada tahun 2002 hingga 2005.
Pada tahun 2005, hubungan antara komunitas pengembang Kernel Linux dan perusahaan komersil pembuat BitKeeper menjadi kurang baik, membuat status free-of-charge dicabut. Ini membuat komunitas pengembang Linux (dan terutama Linus Torvalds, pembuat Linux) akhirnya mengembangkan sendiri peralatan berdasarkan beberapa halyang dipelajari saat menggunakan BitKeeper. Beberapa tujuan sistem baru tersebut dibuat antara lain :
- Kecepatan
- Desain sederhana
- Dukungan penuh untuk pengembangan non-linear (ribuan cabang secara paralel)
- Terdistribusi secara penuh
- Dapat menangani proyek skala besar seperti Kernel Linux secara efisien (kecepatan dan ukuran data)
Banyak orang mungkin melakukan pengontrolan versi dengan menyalin berkas-berkas pada direktori yang berbeda. Cara ini sangat sederhana, namun cenderung rentan terhadap kesalahan. Oleh karena itulah sistem database versi diciptakan.
Version Control Local
Kelemahan dari sistem ini adalah pengembang perlu melakukan kolaborasi dengan pengembang pada sistem lainnya. Untuk mengatasi permasalahan ini maka dibangunlah Centralized Version Control System (CVCSs).
Version Control Terpusat
Walau demikian, sistem dengan tatanan seperti ini memiliki kelemahan serius. Kelemahan nyata yang direpresesntasikan oleh sistem dengan server terpusat. Jika server mati untuk beberapa jam, maka tidak ada seorangpun yang bisa berkolaborasi atau menyimpan perubahan terhadap apa yang mereka telah kerjakan.
Jika harddisk yang menyimpan basisdata mengalami kerusakan, dan salinan yang beran belum tersimpan, anda akan kehilangan setiap perubahan dari proyek kecuali snapshot yang dimiliki oleh setiap kolaborator pada komputernya masing-masing. VCS lokal juga mengalami nasib yang sama jika anda menyimpan seluruh history perubahan proyek pada satu tempat, anda mempunyai resiko kehilangan semuanya.
Version Control Terdistribusi
Lain halnya dengan DVCS (Distributed Version Control System) seperti
Git, Mercurial, Bazaar atau Darcs. Klien tidak hanya melakukan checkout
untuk snapshot terakhir setiap berkas, namun klien memiliki salinan
penuh dari repositori tersebut.
Jadi, jika server mati, dan sistem berkolaborasi melalui server
tersebut, maka klien manapun dapat mengirimkan salinan repositori
tersebut kembali ke server. Setiap checkout pada DVCS merupakan sebuah
backup dari keseluruhan data.
Alur Kerja Git
- Buat repositori
- Salin revisi
- Ubah, tambah, hapus
- Kirim perubahan ke repositori




Tidak ada komentar:
Posting Komentar