रिपोजिटरी (वर्शन कण्ट्रोल): 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
Line 10: Line 10:
}}</ref> कुछ मेटाडेटा जो रिपोजिटरी में सम्मिलित होते हैं, उनमें अन्य चीजों के अलावा रिपोजिटरी में परिवर्तनों का एक ऐतिहासिक रिकॉर्ड, प्रतिबद्ध वस्तुओं का एक सेट और प्रतिबद्ध वस्तुओं के संदर्भों का एक सेट सम्मिलित होता है जिन्हें हेड कहा जाता है।
}}</ref> कुछ मेटाडेटा जो रिपोजिटरी में सम्मिलित होते हैं, उनमें अन्य चीजों के अलावा रिपोजिटरी में परिवर्तनों का एक ऐतिहासिक रिकॉर्ड, प्रतिबद्ध वस्तुओं का एक सेट और प्रतिबद्ध वस्तुओं के संदर्भों का एक सेट सम्मिलित होता है जिन्हें हेड कहा जाता है।


'''रिपोजिटरी''' का मुख्य उद्देश्य फ़ाइलों के एक सेट को सेटीत करना है, साथ ही उन फ़ाइलों में किए गए परिवर्तनों का इतिहास भी है।<ref>{{cite web|title=आरंभ करना - संस्करण नियंत्रण के बारे में|url=http://git-scm.com/book/en/v2/Getting-Started-About-Version-Control|publisher=Git SCM}}</ref> हालाँकि, वास्तव में प्रत्येक वर्शन कण्ट्रोल सिस्टम उन परिवर्तनों को सेटीत करने का तरीका काफी भिन्न होती है। उदाहरण के लिए, सबवर्सन अतीत में एक डेटाबेस उदाहरण पर निर्भर था लेकिन तब से यह अपने परिवर्तनों को सीधे फ़ाइल सिस्टम पर उचित करने लगा है।<ref>{{cite book |author1=Ben Collins-Sussman |author2=Brian W. Fitzpatrick |author3=C. Michael Pilato |title= Version Control with Subversion: For Subversion 1.7 |year= 2011  |chapter= Chapter 5: Strategies for Repository Deployment |url= http://svnbook.red-bean.com/en/1.7/svn.reposadmin.planning.html#svn.reposadmin.basics.backends | publisher = O'Reilly}}</ref> स्टोरेज तकनीकों में इन अंतरों के कारण सामान्यतौर पर विभिन्न समूहों द्वारा उनकी आवश्यकताओं के आधार पर वर्शन कण्ट्रोल के विविध उपयोग होते हैं।<ref>{{cite web|title=स्रोत नियंत्रण शाखाकरण के विभिन्न दृष्टिकोण|url=https://stackoverflow.com/questions/1332746/different-approaches-to-source-control-branching|website=Stack Overflow|access-date=15 November 2014}}</ref>
'''रिपोजिटरी''' का मुख्य उद्देश्य फ़ाइलों के एक सेट को संग्रहीत करना है, साथ ही उन फ़ाइलों में किए गए परिवर्तनों का इतिहास भी है।<ref>{{cite web|title=आरंभ करना - संस्करण नियंत्रण के बारे में|url=http://git-scm.com/book/en/v2/Getting-Started-About-Version-Control|publisher=Git SCM}}</ref> हालाँकि, वास्तव में प्रत्येक वर्शन कण्ट्रोल सिस्टम उन परिवर्तनों को संग्रहीत करने का तरीका काफी भिन्न होती है। उदाहरण के लिए, सबवर्सन अतीत में एक डेटाबेस उदाहरण पर निर्भर था लेकिन तब से यह अपने परिवर्तनों को सीधे फ़ाइल सिस्टम पर उचित करने लगा है।<ref>{{cite book |author1=Ben Collins-Sussman |author2=Brian W. Fitzpatrick |author3=C. Michael Pilato |title= Version Control with Subversion: For Subversion 1.7 |year= 2011  |chapter= Chapter 5: Strategies for Repository Deployment |url= http://svnbook.red-bean.com/en/1.7/svn.reposadmin.planning.html#svn.reposadmin.basics.backends | publisher = O'Reilly}}</ref> स्टोरेज तकनीकों में इन अंतरों के कारण सामान्यतौर पर विभिन्न समूहों द्वारा उनकी आवश्यकताओं के आधार पर वर्शन कण्ट्रोल के विविध उपयोग होते हैं।<ref>{{cite web|title=स्रोत नियंत्रण शाखाकरण के विभिन्न दृष्टिकोण|url=https://stackoverflow.com/questions/1332746/different-approaches-to-source-control-branching|website=Stack Overflow|access-date=15 November 2014}}</ref>




Line 28: Line 28:


वेब डॉक्यूमेंट को अपलोड करने के स्थान के रूप में रिपोजिटरी का उपयोग वर्शन कण्ट्रोल को एकीकृत करने की अनुमति देता है और इसके अतिरिक्त त्वरित पुनरावृत्ति की अनुमति देता है क्योंकि परिवर्तनों को [[एफ़टीपी]] जैसे प्रोटोकॉल के माध्यम से फ़ाइल अपलोड करने के बजाय वर्शन कण्ट्रोल सिस्टम के माध्यम से आगे बढ़ाया जाता है।<ref>{{Cite web|url=https://pages.github.com/|website=GitHub|title=GitHub Pages {{!}} Websites for you and your projects, hosted directly from your GitHub repository.}}</ref>
वेब डॉक्यूमेंट को अपलोड करने के स्थान के रूप में रिपोजिटरी का उपयोग वर्शन कण्ट्रोल को एकीकृत करने की अनुमति देता है और इसके अतिरिक्त त्वरित पुनरावृत्ति की अनुमति देता है क्योंकि परिवर्तनों को [[एफ़टीपी]] जैसे प्रोटोकॉल के माध्यम से फ़ाइल अपलोड करने के बजाय वर्शन कण्ट्रोल सिस्टम के माध्यम से आगे बढ़ाया जाता है।<ref>{{Cite web|url=https://pages.github.com/|website=GitHub|title=GitHub Pages {{!}} Websites for you and your projects, hosted directly from your GitHub repository.}}</ref>
इस प्रकार की सेवा के उदाहरणों में गिटहब(GitHub) पेज और गिटलैब(GitLab) पेज सम्मिलित हैं।
 
इस प्रकार की सेवा के उदाहरणों में गिटहब पेज और गिटलैब पेज सम्मिलित हैं।


==यह भी देखें==
==यह भी देखें==

Revision as of 11:12, 27 July 2023

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

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


अवलोकन

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

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

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

फोर्जेस

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

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

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

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

इस प्रकार की सेवा के उदाहरणों में गिटहब पेज और गिटलैब पेज सम्मिलित हैं।

यह भी देखें

संदर्भ

  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.