Version control (juga dikenal sebagai revision control atau source control) adalah kategori proses dan alat yang dirancang untuk melacak berbagai versi perangkat lunak, konten, dokumen, situs web, dan informasi lainnya yang sedang dalam pengembangan. Setiap sistem yang menyediakan pelacakan perubahan dan kontrol atas source code pemrograman dan dokumentasi dapat dianggap sebagai perangkat lunak version control. Praktik ini sudah menjadi bagian dari proses kreatif hampir sejak penulisan itu sendiri ada.

Tujuan dari version control adalah memastikan bahwa perubahan konten yang sedang dikembangkan berjalan sesuai rencana. Meskipun version control sering dilakukan oleh aplikasi terpisah, hal ini juga bisa disematkan dalam program seperti integrated development environments (IDEs), pengolah kata, spreadsheet, dan terutama dokumen serta halaman web kolaboratif. Version control memungkinkan server di berbagai lokasi menjalankan versi yang berbeda di situs yang berbeda, meskipun versi-versi tersebut sedang diperbarui secara bersamaan.

Sistem version control yang paling kuat dan kompleks digunakan dalam pengembangan perangkat lunak. Version control sering beroperasi dengan mengunci file dan menggunakan sistem check-out / check-in untuk versi yang telah diubah. Versi dapat diidentifikasi dengan label atau tag; versi yang disetujui atau yang dianggap sangat signifikan dapat ditetapkan sebagai baseline. Versi yang sudah di-check-out dapat dikerjakan oleh kelompok atau individu yang berbeda sebagai cabang dari trunk utama. Ketika versi sudah di-check-out dan di-check-in, yang pertama untuk check-in dipastikan berhasil. Jika versi lain sudah di-check-out, beberapa sistem mungkin menyediakan penggabungan versi untuk memungkinkan perubahan lebih lanjut ditambahkan ke repositori pusat.

Cara lain yang digunakan dalam version control adalah branching, di mana program yang sedang dikembangkan disalin untuk pengembangan dalam versi paralel, mempertahankan versi asli dan bekerja pada cabang tersebut atau membuat perubahan berbeda pada masing-masing. Setiap salinan dianggap sebagai cabang; program asli dari mana cabang diambil disebut sebagai trunk, baseline, mainline, atau master.

Version control umumnya didasarkan pada model client-server. Cara lain adalah distributed version control, di mana semua salinan ada di repositori codebase dan perubahan disinkronkan melalui patch atau perubahan yang dibagikan dari peer ke peer.

Istilah version control dan versioning kadang-kadang digunakan secara bergantian meskipun makna teknisnya berbeda.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *