रिपोजिटरी (वर्शन कण्ट्रोल): Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 15: Line 15:
==अवलोकन==
==अवलोकन==


[[File:GitLab running 14.3.0-pre (2021-08).png|thumb|[[GitLab|गिटलैब]] में एक रिपोजिटरी दिखाई जा रही है, जो एक विवृत स्त्रोत कोड फोर्ज है।]]सॉफ़्टवेयर इंजीनियरिंग में, फ़ाइलों के एक सेट के वर्शनों पर नज़र रखने के लिए एक [[संस्करण नियंत्रण प्रणाली|वर्शन कण्ट्रोल सिस्टम]] का उपयोग किया जाता है, सामान्यतौर पर कई डेवलपर को एक परियोजना पर सहयोग करने की अनुमति देने के लिए रिपोजिटरी परियोजना में फ़ाइलों का ट्रैक रखती है, जिसे एक ग्राफ़ के रूप में दर्शाया जाता है।
[[File:GitLab running 14.3.0-pre (2021-08).png|thumb|[[GitLab|गिटलैब]] में एक रिपोजिटरी दिखाई जा रही है, जो एक विवृत स्त्रोत कोड फोर्ज है।]]सॉफ़्टवेयर इंजीनियरिंग में, फ़ाइलों के सेट के वर्शन को ट्रैक करने के लिए एक [[संस्करण नियंत्रण प्रणाली|वर्शन कण्ट्रोल सिस्टम]] का उपयोग किया जाता है, सामान्यतौर पर कई डेवलपर को एक परियोजना पर सहयोग करने की अनुमति देने के लिए रिपोजिटरी परियोजना में फ़ाइलों का ट्रैक रखता है, जिसे एक ग्राफ़ के रूप में दर्शाया जाता है।


एक [[वितरित संस्करण नियंत्रण|वितरित वर्शन कण्ट्रोल]] सिस्टम सेंट्रल और ब्रांच रिपोजिटरी से बनी होती है। सर्वर पर एक सेंट्रल स्टोर उपस्थित है, इसमें परिवर्तन करने के लिए एक डेवलपर पहले एक ब्रांच स्टोर पर काम करता है और पूर्व में परिवर्तन करने के लिए आगे बढ़ता है।
एक [[वितरित संस्करण नियंत्रण|वितरित वर्शन कण्ट्रोल]] सिस्टम सेंट्रल और ब्रांच रिपोजिटरी से बनी होती है। सर्वर पर एक सेंट्रल स्टोर उपस्थित है, इसमें परिवर्तन करने के लिए एक डेवलपर पहले एक ब्रांच स्टोर पर काम करता है और पूर्व में परिवर्तन करने के लिए आगे बढ़ता है।

Revision as of 11:08, 27 July 2023

वर्शन कण्ट्रोल सिस्टम में, रिपोजिटरी एक डेटा स्ट्रक्चर है जो फ़ाइलों या डायरेक्टरी स्ट्रक्चर के एक सेट के लिए मेटा डेटा सेटीत करती है।[1] इस पर निर्भर करते हुए कि उपयोग में आने वाला वर्शन कण्ट्रोल सिस्टम वितरित है जैसे गिट या मर्क्यूरियल या सेंट्रलाइज्ड जैसे सबवर्जन, सीवीएस(CVS) या परफोरस रिपोजिटरी में जानकारी के पूरे सेट को प्रत्येक उपयोगकर्ता के सिस्टम पर प्रतिरूप किया जा सकता है या एक ही सर्वर (कंप्यूटिंग) पर बनाए रखा जा सकता है।[2] कुछ मेटाडेटा जो रिपोजिटरी में सम्मिलित होते हैं, उनमें अन्य चीजों के अलावा रिपोजिटरी में परिवर्तनों का एक ऐतिहासिक रिकॉर्ड, प्रतिबद्ध वस्तुओं का एक सेट और प्रतिबद्ध वस्तुओं के संदर्भों का एक सेट सम्मिलित होता है जिन्हें हेड कहा जाता है।

रिपोजिटरी का मुख्य उद्देश्य फ़ाइलों के एक सेट को सेटीत करना है, साथ ही उन फ़ाइलों में किए गए परिवर्तनों का इतिहास भी है।[3] हालाँकि, वास्तव में प्रत्येक वर्शन कण्ट्रोल सिस्टम उन परिवर्तनों को सेटीत करने का तरीका काफी भिन्न होती है। उदाहरण के लिए, सबवर्सन अतीत में एक डेटाबेस उदाहरण पर निर्भर था लेकिन तब से यह अपने परिवर्तनों को सीधे फ़ाइल सिस्टम पर उचित करने लगा है।[4] स्टोरेज तकनीकों में इन अंतरों के कारण सामान्यतौर पर विभिन्न समूहों द्वारा उनकी आवश्यकताओं के आधार पर वर्शन कण्ट्रोल के विविध उपयोग होते हैं।[5]


अवलोकन

गिटलैब में एक रिपोजिटरी दिखाई जा रही है, जो एक विवृत स्त्रोत कोड फोर्ज है।

सॉफ़्टवेयर इंजीनियरिंग में, फ़ाइलों के सेट के वर्शन को ट्रैक करने के लिए एक वर्शन कण्ट्रोल सिस्टम का उपयोग किया जाता है, सामान्यतौर पर कई डेवलपर को एक परियोजना पर सहयोग करने की अनुमति देने के लिए रिपोजिटरी परियोजना में फ़ाइलों का ट्रैक रखता है, जिसे एक ग्राफ़ के रूप में दर्शाया जाता है।

एक वितरित वर्शन कण्ट्रोल सिस्टम सेंट्रल और ब्रांच रिपोजिटरी से बनी होती है। सर्वर पर एक सेंट्रल स्टोर उपस्थित है, इसमें परिवर्तन करने के लिए एक डेवलपर पहले एक ब्रांच स्टोर पर काम करता है और पूर्व में परिवर्तन करने के लिए आगे बढ़ता है।

फोर्जेस

कोड फोर्ज (सॉफ़्टवेयर) एक वर्शन कण्ट्रोल सिस्टम का एक वेब इंटरफ़ेस है, उपयोगकर्ता सामान्यतौर पर पेज पर ही रिपोजिटरी और उनकी संघटक (कौनसटिटवेन्ट) फ़ाइलों को ब्राउज़ कर सकता है।

स्टेटिक वेब होस्टिंग

जबकि फोर्ज का उपयोग मुख्य रूप से वर्शन कण्ट्रोल संचालन करने के लिए किया जाता है, कुछ फोर्ज उपयोगकर्ताओं को इसके सोर्स कोड (जैसे एचटीएमएल(HTML) और जावास्क्रिप्ट लेकिन PHP नहीं) को रिपोजिटरी में अपलोड करके स्थैतिक वेब पेज होस्ट करने की अनुमति देते हैं। यह सामान्यतौर पर किसी सॉफ़्टवेयर परियोजना के लिए डॉक्यूमेंटेशन या लैंडिंग पेज प्रदान करने के लिए किया जाता है।

वेब डॉक्यूमेंट को अपलोड करने के स्थान के रूप में रिपोजिटरी का उपयोग वर्शन कण्ट्रोल को एकीकृत करने की अनुमति देता है और इसके अतिरिक्त त्वरित पुनरावृत्ति की अनुमति देता है क्योंकि परिवर्तनों को एफ़टीपी जैसे प्रोटोकॉल के माध्यम से फ़ाइल अपलोड करने के बजाय वर्शन कण्ट्रोल सिस्टम के माध्यम से आगे बढ़ाया जाता है।[6] इस प्रकार की सेवा के उदाहरणों में गिटहब(GitHub) पेज और गिटलैब(GitLab) पेज सम्मिलित हैं।

यह भी देखें

संदर्भ

  1. "एसवीएनबुक". Retrieved 2012-04-20.
  2. "Version control concepts and best practices". 2018-03-03. Archived from the original on 2020-04-27. Retrieved 2020-07-10.
  3. "आरंभ करना - संस्करण नियंत्रण के बारे में". Git SCM.
  4. Ben Collins-Sussman; Brian W. Fitzpatrick; C. Michael Pilato (2011). "Chapter 5: Strategies for Repository Deployment". Version Control with Subversion: For Subversion 1.7. O'Reilly.
  5. "स्रोत नियंत्रण शाखाकरण के विभिन्न दृष्टिकोण". Stack Overflow. Retrieved 15 November 2014.
  6. "GitHub Pages | Websites for you and your projects, hosted directly from your GitHub repository". GitHub.