คุณสับสนเกี่ยวกับบทบาทของระบบควบคุมเวอร์ชัน ไม่ใช่และไม่เคยมีจุดประสงค์เพื่อเป็นระบบสำรองข้อมูลสำหรับเว็บไซต์ที่ใช้งานอยู่ มันทำงานได้ดีมากในการจัดการเนื้อหาแบบสแตติกเพื่อให้สามารถย้ายไปใช้งานจริงได้ ด้วยการใช้การติดแท็กและการชำระเงินอัตโนมัติอย่างเหมาะสมทำให้ไซต์ที่เปลี่ยนแปลงอย่างรวดเร็วสามารถเก็บไว้ในระบบควบคุมเวอร์ชันได้
ระบบควบคุมเวอร์ชันจะสามารถบอกคุณได้ว่าคุณได้รับจากสิ่งที่เว็บไซต์ดูเหมือนเมื่อเดือนที่แล้วจนถึงสิ่งที่ดูเหมือนวันนี้ (อย่างน้อยสำหรับองค์ประกอบเหล่านั้นที่อยู่ภายใต้การควบคุมแหล่งที่มา) ควรรวมทุกสิ่งที่คุณต้องการในการสร้างเว็บไซต์ใหม่ ดังที่คนอื่น ๆ ได้กล่าวไว้การเปลี่ยนแปลงใด ๆ ในการอนุญาตและความเป็นเจ้าของควรถูกเขียนสคริปต์และสคริปต์นั้นรวมอยู่ในการควบคุมเวอร์ชัน
สิทธิ์การเข้าถึงเว็บไซต์มักจะค่อนข้างง่าย (โดยทั่วไปคุณจะต้องตรวจสอบให้แน่ใจว่าเว็บเซิร์ฟเวอร์สามารถอ่านเนื้อหาทั้งหมดและเขียนได้น้อยมาก) ยกเว้นการเป็นเจ้าของไดเรกทอรีของไดเรกทอรีบางแห่งที่จำเป็นต้องเขียนได้โดยการโค่นล้มของเว็บเซิร์ฟเวอร์และอาจเป็นเรื่องง่าย จัดการสิทธิ์ ไดเรกทอรีที่เขียนได้โดยเว็บเซิร์ฟเวอร์มักจะมีเนื้อหาแบบไดนามิก (สร้างและอัปเดตจากเว็บไซต์) ซึ่งมีการจัดการแยกต่างหากจากแหล่งเว็บไซต์
หากฉันถูกขอให้ทำงานกับเว็บไซต์ที่มีการอนุญาตที่ซับซ้อนและ ACLs บนเว็บไซต์ของคุณฉันจะมีข้อกังวลอย่างจริงจังเกี่ยวกับกระบวนการที่ใช้ในการจัดการเว็บไซต์ การนำระบบควบคุมเวอร์ชันมาใช้และการย้าย ACL ไปใช้นั้นจะเป็นหนึ่งในโซลูชันที่ฉันจะพิจารณาอย่างจริงจัง
เนื้อหาแบบไดนามิกเช่นรายการบล็อกหรือความคิดเห็นมักจะมีอยู่ในฐานข้อมูลหรือที่เก็บข้อมูลอื่น ๆ มากกว่าการควบคุมเวอร์ชันที่ใช้ในการสร้างเว็บไซต์ แหล่งข้อมูลอาจถูกจัดเรียงเพื่อให้การควบคุมเวอร์ชันของเนื้อหา (เช่นเดียวกับซอฟต์แวร์นี้) Wikis จำนวนมากใช้ระบบควบคุมเวอร์ชันเพื่อติดตามการแก้ไข
แก้ไข:
การแก้ไขที่ฉันใช้คือ (a) ไม่มีการควบคุมเวอร์ชันเลย (b) ไซต์การผลิตคือไซต์หลัก (c) เก็บถาวรทุกครั้งที่มีการเปลี่ยนแปลงอะไร (d) สคริปต์การเก็บถาวรจะลบขยะเช่น ACL และ (e) สคริปต์การติดตั้งแก้ไขขยะอื่น ๆ เช่นการอนุญาตไฟล์
ปัญหาเหล่านี้สามารถจัดการได้โดยการนำเข้าไซต์เข้าสู่ระบบควบคุมเวอร์ชันและเปลี่ยนกระบวนการของคุณเพื่อให้เว็บไซต์หลักได้รับการอัปเดตผ่านระบบดังกล่าว (a), (b) และ (c) ได้รับการจัดการโดยตรงโดยการควบคุมเวอร์ชัน คุณอาจต้องการติดป้ายประชาสัมพันธ์เพื่อให้ (c) ทำงานได้ดีขึ้น (d) โดยทั่วไปจะไม่เป็นปัญหาหากคุณมีเพียงระบบการปรับใช้ที่เปลี่ยนไซต์ของคุณ ฉันไม่เคยต้องการ ACL ในเนื้อหาของเว็บไซต์
(e) ควรจะทำงานในการสร้างครั้งแรกและการเปลี่ยนแปลงที่สำคัญเท่านั้น มันอาจรวมถึงสคริปต์ที่อัปเดตไซต์จากการควบคุมเวอร์ชันและทำงานบ่อยครั้ง สคริปต์เหล่านี้มักจะค่อนข้างง่ายเมื่อคุณทำให้ไซต์ของคุณอยู่ในระบบควบคุมความเกลียดชัง
แต่ทำไมไม่มีใครสร้างระบบทั่วไปเพื่อทำสิ่งนี้?
เพราะมันไม่จำเป็นถ้าคุณใช้ระบบควบคุมเวอร์ชัน
ระบบควบคุมเวอร์ชันสามารถติดตามทุกสิ่งนี้ได้ แต่ไม่มีเลย
ทั้ง CVS และการโค่นล้มจะติดตามสิ่งที่คุณต้องการติดตามหากคุณใช้พวกเขา พวกเขาจะไม่ติดตามสิ่งที่คุณต้องการติดตามเพราะคุณไม่ได้ใช้ระบบควบคุมเวอร์ชันและไม่ควรติดตาม พวกเขาติดตามสิ่งที่คุณต้องการติดตามเมื่อคุณใช้ระบบควบคุมเวอร์ชัน
ฉันทำงานกับหลายไซต์ที่จัดการเนื้อหาโดยใช้การควบคุมเวอร์ชัน ทั้งหมดมีข้อกำหนดที่แตกต่างกันสำหรับไซต์จัดเตรียมความถี่ในการปรับใช้และความสมบูรณ์ของการอัปเดต เมื่อไซต์อยู่ในการควบคุมเวอร์ชันพบข้อกำหนดที่เหลือก็ค่อนข้างง่ายต่อการตอบสนอง เอกสารประกอบสำหรับ CVS และการโค่นล้มให้คำแนะนำสำหรับวิธีการอัพเดตที่เป็นไปได้
คุณอาจต้องใช้ ACL เพื่อ จำกัด การเข้าถึงพื้นที่เฉพาะภายในเนื้อหาที่ควบคุมเวอร์ชัน อย่างไรก็ตามฉันมักจะทำงานบนพื้นฐานความน่าเชื่อถือ การควบคุมเวอร์ชันทำให้ง่ายต่อการดูว่าใครทำอะไรเมื่อไหร่ หากคุณไม่ฟอร์แมตไฟล์คุณสามารถรับประวัติกำกับย่อของไฟล์ที่แสดงว่าใครเพิ่มสายใดบ้าง