Anda bingung tentang peran sistem kontrol versi. Ini bukan dan tidak pernah dimaksudkan sebagai sistem cadangan untuk situs web yang sedang berjalan. Ia melakukan pekerjaan yang sangat baik dalam mengelola konten statis sehingga ia dapat berproduksi secara terkendali. Dengan penggunaan penandaan dan checkout yang tepat, bahkan situs yang cepat berubah dapat disimpan dalam sistem kontrol versi.
Sistem kontrol versi akan dapat memberi tahu Anda bagaimana Anda mendapatkan dari apa yang tampak seperti situs bulan lalu hingga seperti apa hari ini (setidaknya untuk komponen-komponen yang berada di bawah kendali sumber). Ini harus mencakup semua yang Anda butuhkan untuk membangun kembali situs web (tidak termasuk konten dinamis). Seperti yang telah dicatat oleh orang lain, setiap perubahan pada izin dan kepemilikan harus ditulis, dan skrip itu dimasukkan dalam kontrol versi.
Izin akses untuk situs web biasanya cukup sederhana. (Pada dasarnya, Anda perlu memastikan bahwa server web dapat membaca semua konten dan menulis sangat sedikit.) Dengan pengecualian kepemilikan direktori dari beberapa direktori yang perlu ditulis oleh subversi web-server, dan mungkin git, tentu saja dapat menangani izin. Direktori yang dapat ditulis oleh server web biasanya berisi konten dinamis (dibuat dan diperbarui dari situs web), yang dikelola secara terpisah dari sumber situs web.
Jika saya diminta untuk bekerja dengan situs web dengan izin dan ACL yang rumit di situs web Anda, saya akan memiliki keprihatinan serius tentang proses yang digunakan untuk mengelola situs web. Menerapkan sistem kontrol versi dan memindahkan ACL ke sana akan menjadi salah satu solusi yang akan saya pertimbangkan dengan serius.
Konten dinamis, seperti entri atau komentar blog, biasanya terkandung dalam database atau data lain daripada kontrol versi yang digunakan untuk membangun situs. Penyimpanan data dapat diatur untuk menyediakan kontrol versi kontennya (seperti perangkat lunak ini). Banyak wiki menggunakan sistem kontrol versi untuk melacak revisi.
EDIT:
Perbaikan yang saya gunakan adalah (a) Tidak ada kontrol versi sama sekali, (b) Situs produksi adalah situs master, (c) Arsip setiap kali ada perubahan, (d) Script arsip menghapus sampah seperti ACL, dan (e) skrip instal memperbaiki izin file seperti sampah lainnya.
Masalah-masalah ini dapat diatasi dengan mengimpor situs ke sistem kontrol versi dan mengubah proses Anda sehingga situs master diperbarui melalui sistem itu. (a), (b), dan (c) ditangani langsung oleh kontrol versi. Anda mungkin ingin menandai rilis untuk membuat (c) berfungsi lebih baik. (D) umumnya tidak menjadi masalah jika Anda hanya memiliki sistem penyebaran mengubah situs Anda. Saya tidak pernah membutuhkan ACL pada konten situs.
(e) seharusnya hanya dijalankan pada kreasi awal dan perubahan besar. Mungkin juga termasuk skrip yang memperbarui situs dari kontrol versi dan sering berjalan. Skrip ini cenderung sangat sederhana ketika Anda menjaga situs Anda dalam sistem kontrol permusuhan.
Tetapi mengapa tidak ada yang membangun sistem umum untuk melakukan ini?
Karena itu tidak diperlukan jika Anda menggunakan sistem kontrol versi.
Sistem kontrol versi BISA melacak semua hal ini, tetapi tidak ada yang bisa.
CVS dan Subversion melacak apa yang perlu Anda lacak jika Anda menggunakannya. Mereka tidak akan melacak hal yang perlu Anda lacak karena Anda tidak menggunakan sistem kontrol versi, juga tidak seharusnya. Mereka melacak apa yang Anda perlu lacak ketika Anda menggunakan sistem kontrol versi.
Saya telah bekerja dengan beberapa situs yang mengelola konten mereka menggunakan kontrol versi. Semua memiliki persyaratan yang berbeda untuk pementasan situs, frekuensi penyebaran, dan kelengkapan pembaruan. Setelah situs berada dalam kontrol versi memenuhi persyaratan lainnya relatif mudah dipenuhi. Dokumentasi untuk CVS dan Subversion memberikan saran untuk kemungkinan metode pembaruan.
Anda mungkin memerlukan ACL untuk membatasi akses ke area tertentu di dalam konten yang dikendalikan versi. Namun, saya cenderung bekerja berdasarkan kepercayaan. Kontrol versi memudahkan untuk melihat siapa yang melakukan apa saat itu. Jika Anda tidak memformat ulang file, mudah untuk mendapatkan riwayat anotasi file yang menunjukkan siapa yang menambahkan baris mana saat itu.