Bạn đang bối rối về vai trò của một hệ thống kiểm soát phiên bản. Nó không phải và không bao giờ được dự định là một hệ thống sao lưu cho một trang web đang chạy. Nó thực hiện một công việc cực kỳ tốt là quản lý nội dung tĩnh để nó chuyển sang sản xuất một cách có kiểm soát. Với việc sử dụng đúng cách gắn thẻ và kiểm tra tự động, ngay cả các trang web thay đổi nhanh cũng có thể được giữ trong một hệ thống kiểm soát phiên bản.
Một hệ thống kiểm soát phiên bản sẽ có thể cho bạn biết bạn đã nhận được từ trang web trông như thế nào vào tháng trước đến ngày hôm nay (ít nhất là đối với những thành phần nằm dưới sự kiểm soát nguồn). Nó nên bao gồm mọi thứ bạn cần để xây dựng lại trang web (không bao gồm nội dung động). Như những người khác đã lưu ý, mọi thay đổi về quyền và quyền sở hữu phải được viết theo kịch bản và tập lệnh đó có trong kiểm soát phiên bản.
Quyền truy cập cho các trang web thường khá đơn giản. (Về cơ bản, bạn cần đảm bảo rằng máy chủ web có thể đọc tất cả nội dung và viết rất ít nội dung đó.) Ngoại trừ quyền sở hữu thư mục của một vài thư mục cần có thể ghi bởi lật đổ máy chủ web và có thể là git, chắc chắn có thể xử lý quyền. Các thư mục có thể ghi được bởi máy chủ web thường chứa nội dung động (được tạo và cập nhật từ trang web), được quản lý tách biệt với nguồn của trang web.
Nếu tôi được yêu cầu làm việc với một trang web có quyền và ACL phức tạp trên trang web của bạn, tôi sẽ có những lo ngại nghiêm trọng về quy trình được sử dụng để quản lý trang web. Triển khai một hệ thống kiểm soát phiên bản và chuyển ACL sang nó sẽ là một trong những giải pháp tôi sẽ xem xét nghiêm túc.
Nội dung động, chẳng hạn như các mục blog hoặc bình luận, thường được chứa trong cơ sở dữ liệu hoặc kho dữ liệu khác thay vì kiểm soát phiên bản được sử dụng để xây dựng trang web. Kho lưu trữ dữ liệu có thể được sắp xếp để cung cấp kiểm soát phiên bản nội dung của nó (như phần mềm này). Nhiều Wikis sử dụng một hệ thống kiểm soát phiên bản để theo dõi các phiên bản.
BIÊN TẬP:
Khắc phục tôi đang sử dụng là (a) Không có kiểm soát phiên bản nào cả, (b) Trang web sản xuất là trang chính, (c) Lưu trữ mỗi khi có bất cứ điều gì thay đổi, (d) Tập lệnh lưu trữ sẽ loại bỏ rác như ACL và (e) tập lệnh cài đặt sửa các thứ linh tinh khác như quyền truy cập tập tin.
Những vấn đề này có thể được xử lý bằng cách nhập trang web vào hệ thống kiểm soát phiên bản và thay đổi quy trình của bạn để trang web chính được cập nhật thông qua hệ thống đó. (a), (b) và (c) được xử lý trực tiếp bởi kiểm soát phiên bản. Bạn có thể muốn gắn thẻ phát hành để làm cho (c) hoạt động tốt hơn. (d) thường không phải là vấn đề nếu bạn chỉ có hệ thống triển khai thay đổi trang web của mình. Tôi chưa bao giờ cần ACL trên nội dung trang web.
(e) chỉ cần được chạy trên sáng tạo ban đầu và những thay đổi lớn. Nó cũng có thể bao gồm tập lệnh cập nhật trang web từ kiểm soát phiên bản và chạy thường xuyên. Các tập lệnh này có xu hướng khá đơn giản khi bạn giữ cho trang web của bạn trong hệ thống kiểm soát ác cảm.
Nhưng tại sao không ai xây dựng một hệ thống chung để làm việc này?
Bởi vì nó không cần thiết nếu bạn sử dụng hệ thống kiểm soát phiên bản.
Một hệ thống kiểm soát phiên bản COULD theo dõi tất cả những thứ này, nhưng không có gì.
Cả CVS và Subversion đều theo dõi những gì bạn cần theo dõi nếu bạn đang sử dụng chúng. Họ sẽ không theo dõi thứ bạn cần theo dõi vì bạn không sử dụng hệ thống kiểm soát phiên bản, cũng không nên theo dõi. Họ theo dõi những gì bạn cần theo dõi khi bạn đang sử dụng một hệ thống kiểm soát phiên bản.
Tôi đã làm việc với một số trang web quản lý nội dung của họ bằng cách sử dụng kiểm soát phiên bản. Tất cả đều có các yêu cầu khác nhau về trang web dàn dựng, tần suất triển khai và tính đầy đủ của các bản cập nhật. Khi các trang web nằm trong kiểm soát phiên bản, các yêu cầu còn lại tương đối dễ đáp ứng. Tài liệu cho cả CVS và Subversion đưa ra gợi ý cho các phương pháp cập nhật có thể.
Bạn có thể cần ACL để giới hạn quyền truy cập vào các khu vực cụ thể trong nội dung được kiểm soát phiên bản. Tuy nhiên, tôi có xu hướng làm việc trên cơ sở tin tưởng. Kiểm soát phiên bản giúp dễ dàng xem ai đã làm gì khi nào. Nếu bạn không định dạng lại các tệp, có thể dễ dàng nhận được lịch sử chú thích của tệp cho biết ai đã thêm dòng nào khi nào.