आप एक संस्करण नियंत्रण प्रणाली की भूमिका के बारे में उलझन में हैं। यह और एक वेब साइट के लिए बैकअप सिस्टम होने का इरादा नहीं था। यह स्थैतिक सामग्री के प्रबंधन का एक बहुत अच्छा काम करता है ताकि यह नियंत्रित तरीके से उत्पादन में चला जाए। टैगिंग और स्वचालित चेकआउट के उचित उपयोग के साथ, यहां तक कि तेजी से बदलती साइटों को एक संस्करण नियंत्रण प्रणाली में रखा जा सकता है।
एक संस्करण नियंत्रण प्रणाली आपको यह बताने में सक्षम होगी कि आपको पिछले महीने की तरह दिखने वाली साइट से क्या मिला, जो आज जैसा दिखता है (कम से कम उन घटकों के लिए जो स्रोत नियंत्रण में हैं)। इसमें वह सब कुछ शामिल होना चाहिए जो आपको वेबसाइट (गतिशील सामग्री को छोड़कर) के पुनर्निर्माण के लिए चाहिए। जैसा कि अन्य ने उल्लेख किया है, अनुमतियों और स्वामित्व में किसी भी परिवर्तन को स्क्रिप्ट किया जाना चाहिए, और उस स्क्रिप्ट को संस्करण नियंत्रण में शामिल किया गया है।
वेब साइटों के लिए प्रवेश की अनुमति आमतौर पर काफी सरल है। (मूल रूप से, आपको यह सुनिश्चित करने की आवश्यकता है कि वेबसर्वर सभी सामग्री को पढ़ सकता है और इसके बारे में बहुत कम लिख सकता है।) कुछ निर्देशिकाओं के निर्देशिका स्वामित्व के अपवाद के साथ, जिन्हें वेब-सर्वर तोड़फोड़, और संभवतः गिट की आवश्यकता हो सकती है। अनुमतियाँ संभालें। वेब-सर्वर द्वारा राइट किए जाने वाले निर्देशिकाएँ में आमतौर पर डायनामिक कंटेंट होते हैं (वेब-साइट से निर्मित और अपडेट किए गए), जिन्हें वेब-साइट स्रोत से अलग से प्रबंधित किया जाता है।
अगर मुझे आपकी वेब-साइट पर जटिल अनुमति और एसीएल के साथ एक वेब-साइट के साथ काम करने के लिए कहा जाता है, तो मुझे वेब-साइट के प्रबंधन के लिए उपयोग की जाने वाली प्रक्रिया के बारे में गंभीर चिंता होगी। एक संस्करण नियंत्रण प्रणाली को लागू करना और ACL को उस पर ले जाना एक ऐसा समाधान होगा, जिस पर मैं गंभीरता से विचार करूंगा।
डायनामिक सामग्री, जैसे ब्लॉग प्रविष्टियाँ या टिप्पणियां, आमतौर पर साइट बनाने के लिए उपयोग किए जाने वाले संस्करण नियंत्रण के बजाय डेटाबेस या अन्य डेटास्टोर में समाहित होती हैं। डेटा स्टोर को सामग्री का संस्करण नियंत्रण प्रदान करने के लिए व्यवस्थित किया जा सकता है (जैसा कि यह सॉफ़्टवेयर है)। कई विकी संशोधन को ट्रैक करने के लिए एक संस्करण नियंत्रण प्रणाली का उपयोग करते हैं।
संपादित करें:
मैं जो फिक्स का उपयोग कर रहा हूं वह (ए) बिल्कुल भी संस्करण नियंत्रण नहीं है, (बी) उत्पादन साइट मास्टर साइट है, (सी) हर बार कुछ भी बदलने पर पुरालेख, (डी) संग्रह स्क्रिप्ट एसीएल, और (ई) की तरह कबाड़ को हटा देती है स्थापित स्क्रिप्ट फ़ाइल अनुमतियों की तरह अन्य कबाड़ को ठीक करता है।
इन समस्याओं को साइट को एक संस्करण नियंत्रण प्रणाली में आयात करके और आपकी प्रक्रिया को बदलकर नियंत्रित किया जा सकता है ताकि मास्टर साइट को उस प्रणाली के माध्यम से अपडेट किया जाए। (ए), (बी), और (सी) को सीधे संस्करण नियंत्रण द्वारा नियंत्रित किया जाता है। आप (c) कार्य को बेहतर बनाने के लिए रिलीज़ को टैग करना चाह सकते हैं। (डी) आम तौर पर एक मुद्दा नहीं है अगर आपके पास केवल तैनाती प्रणाली है जो आपकी साइट को बदल रही है। मुझे साइट की सामग्री पर एसीएल की आवश्यकता नहीं है।
(ई) को केवल प्रारंभिक निर्माण और प्रमुख परिवर्तनों पर चलाने की आवश्यकता है। इसमें वह स्क्रिप्ट भी शामिल हो सकती है जो संस्करण नियंत्रण से साइट को अपडेट करती है और अक्सर चलती है। जब आप एवरेज कंट्रोल सिस्टम में साइट रखते हैं तो ये स्क्रिप्ट काफी सरल होती हैं।
लेकिन किसी ने ऐसा करने के लिए एक सामान्य प्रणाली क्यों नहीं बनाई है?
क्योंकि यह आवश्यक नहीं है यदि आप एक संस्करण नियंत्रण प्रणाली का उपयोग करते हैं।
एक संस्करण नियंत्रण प्रणाली COULD यह सब सामान ट्रैक करता है, लेकिन कोई भी नहीं करता है।
सीवीएस और सबवर्सन दोनों ट्रैक करते हैं कि अगर आप उनका उपयोग कर रहे हैं तो आपको क्या ट्रैक करना होगा। वे उस चीज़ को ट्रैक नहीं करेंगे जिसे आपको ट्रैक करने की आवश्यकता है क्योंकि आप एक संस्करण नियंत्रण प्रणाली का उपयोग नहीं कर रहे हैं, न ही उन्हें करना चाहिए। जब आप एक संस्करण नियंत्रण प्रणाली का उपयोग कर रहे होते हैं, तो उन्हें ट्रैक करने की आवश्यकता होती है।
मैंने कई साइटों के साथ काम किया है जो संस्करण नियंत्रण का उपयोग करके अपनी सामग्री प्रबंधित करते हैं। सभी को अलग-अलग साइटें, तैनाती की आवृत्ति और अपडेट की पूर्णता के लिए अलग-अलग आवश्यकताएं थीं। एक बार साइटें संस्करण नियंत्रण बैठक में थीं, बाकी आवश्यकताओं को पूरा करना अपेक्षाकृत आसान था। सीवीएस और तोड़फोड़ दोनों के लिए प्रलेखन संभव अद्यतन विधियों के लिए सुझाव देते हैं।
आपको संस्करण नियंत्रित सामग्री के भीतर विशेष क्षेत्रों तक पहुंच को सीमित करने के लिए एसीएल की आवश्यकता हो सकती है। हालांकि, मैं भरोसे के आधार पर काम करता हूं। संस्करण नियंत्रण यह देखना आसान बनाता है कि किसने कब क्या किया। यदि आप फ़ाइलों को सुधार नहीं करते हैं, तो यह दिखाना आसान है कि फाइल का एनोटेट इतिहास किसने जोड़ा है, जो कब लाइनों को जोड़ता है।