Sistem file versi adalah komponen perangkat lunak komputer dari sistem file yang lebih besar yang mempertahankan file saat dimodifikasi sehingga file dapat dilihat atau dipulihkan ke keadaan sebelumnya. Di bawah sistem file versi, file apa pun yang dibuat akan memiliki semua modifikasi yang dilakukan pada datanya yang disimpan di suatu tempat di sistem file sehingga data file dapat direkonstruksi untuk mewakili status akuratnya kapan saja sejak pembuatannya. Sementara hasil akhir menggunakan pembuatan versi dalam sistem file mirip dengan membuat cadangan file di sistem file, itu tidak dianggap sama karena berbagai versi file disimpan dalam sistem file yang sama, biasanya dalam volume yang sama. sebagai file yang diversi. Mekanisme yang digunakan untuk mengimplementasikan sistem file versi dapat sangat bervariasi, tetapi umumnya termasuk menyimpan seluruh file secara berkala untuk membuat versi, atau memelihara log untuk setiap file di mana hanya modifikasi yang disimpan sehingga file dapat direkonstruksi secara prosedural sebagai diperlukan. Salah satu manfaat dari sistem file versi ketika digunakan dalam pengembangan atau lingkungan kolaboratif adalah bahwa perubahan dapat dilacak dan dibatalkan sepenuhnya.
Implementasi sistem file versi dapat sangat bervariasi. Beberapa sistem file mengimplementasikan pembuatan versi dalam kerangka mereka sendiri, tetapi pembuatan versi lebih sering ditambahkan secara terpisah, menciptakan apa yang dikenal sebagai sistem file versi yang dapat ditumpuk, di mana kemampuan pembuatan versi bekerja di atas jenis sistem file lain. Sistem file kadang-kadang akan memasang disk logis terpisah untuk menyimpan informasi versi, sementara di lain waktu informasi ditulis ke file yang disimpan dalam volume logis yang sama dengan file data aktual.
Pada tingkat sistem, sistem file versi dapat mengambil beberapa pendekatan untuk menyimpan informasi versi. Metode sederhana dikenal sebagai copy on write, di mana sistem pembuatan versi menangkap peristiwa penulisan file sistem dan membuat salinan file untuk mempertahankan versi sebelumnya. Ini efektif tetapi dapat menggunakan sejumlah besar penyimpanan dari waktu ke waktu.
Cara lain untuk mengimplementasikan pembuatan versi dalam sistem file adalah dengan melacak modifikasi file dengan hanya menyimpan perubahan. Metode ini pada dasarnya membuat log yang hanya menunjukkan informasi apa yang ditambahkan, diubah, atau dihapus dari file. Hanya merekam perubahan yang bisa sangat efisien dari perspektif penyimpanan tetapi membutuhkan kekuatan pemrosesan untuk merakit kembali file dengan menelusuri semua perubahan yang dibuat untuk sampai pada snapshot yang diminta pengguna.
Sistem file versi sangat berguna dalam lingkungan pengembangan kolaboratif. Untuk pengembangan perangkat lunak, ini bisa menjadi cara yang berharga untuk menghapus atau mengembalikan perubahan ketika masalah muncul setelah pembaruan. Lingkungan kolaboratif lainnya mungkin memungkinkan banyak pengguna untuk memodifikasi dokumen, sehingga pembuatan versi dapat memungkinkan dokumen untuk dipulihkan sebagian jika beberapa perubahan perlu dihapus. Dalam administrasi jaringan, pembuatan versi membantu mengurangi kerusakan jangka panjang dari perangkat lunak berbahaya atau peretas yang mungkin mencoba merusak file secara halus.