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

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
{{short description|Metadata storage for software revision control}}
{{short description|Metadata storage for software revision control}}
[[संस्करण नियंत्रण|वर्शन कण्ट्रोल]] सिस्टम में, '''रिपोजिटरी''' एक डेटा संरचना है जो फ़ाइलों या [[निर्देशिका संरचना]] के एक संग्रह के लिए [[ मेटा डेटा ]] संग्रहीत करती है।<ref>{{cite web|title=एसवीएनबुक|url=http://svnbook.red-bean.com/en/1.7/svn.basic.version-control-basics.html#svn.basic.repository|access-date=2012-04-20}}</ref> इस पर निर्भर करते हुए कि उपयोग में आने वाला वर्शन कण्ट्रोल सिस्टम वितरित है जैसे [[Git|गिट]] या [[अस्थिर|मर्क्यूरियल]] या केंद्रीकृत जैसे [[Apache Subversion|अपाचे सबवर्जन]], CVS या [[Perforce|परफोरस]] '''रिपोजिटरी''' में जानकारी के पूरे संग्रह को प्रत्येक उपयोगकर्ता के सिस्टम पर प्रतिरूप किया जा सकता है या एक ही [[सर्वर (कंप्यूटिंग)]] पर बनाए रखा जा सकता है।<ref name=Ernst-2018>{{cite web
[[संस्करण नियंत्रण|वर्शन कण्ट्रोल]] सिस्टम में, '''रिपोजिटरी''' एक डेटा संरचना है जो फ़ाइलों या [[निर्देशिका संरचना|डायरेक्टरी संरचना]] के एक संग्रह के लिए [[ मेटा डेटा ]] संग्रहीत करती है।<ref>{{cite web|title=एसवीएनबुक|url=http://svnbook.red-bean.com/en/1.7/svn.basic.version-control-basics.html#svn.basic.repository|access-date=2012-04-20}}</ref> इस पर निर्भर करते हुए कि उपयोग में आने वाला वर्शन कण्ट्रोल सिस्टम वितरित है जैसे [[Git|गिट]] या [[अस्थिर|मर्क्यूरियल]] या केंद्रीकृत जैसे [[Apache Subversion|अपाचे सबवर्जन]], CVS या [[Perforce|परफोरस]] '''रिपोजिटरी''' में जानकारी के पूरे संग्रह को प्रत्येक उपयोगकर्ता के सिस्टम पर प्रतिरूप किया जा सकता है या एक ही [[सर्वर (कंप्यूटिंग)]] पर बनाए रखा जा सकता है।<ref name=Ernst-2018>{{cite web
|url=https://homes.cs.washington.edu/~mernst/advice/version-control.html
|url=https://homes.cs.washington.edu/~mernst/advice/version-control.html
|title=Version control concepts and best practices
|title=Version control concepts and best practices

Revision as of 15:54, 21 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.