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

From Vigyanwiki
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 8: Line 8:
|archive-url=https://web.archive.org/web/20200427074258/https://homes.cs.washington.edu/~mernst/advice/version-control.html
|archive-url=https://web.archive.org/web/20200427074258/https://homes.cs.washington.edu/~mernst/advice/version-control.html
|archive-date=2020-04-27
|archive-date=2020-04-27
}}</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>




==अवलोकन==
==अवलोकन==


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


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


==फोर्जेस==
==फोर्जेस==


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


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


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


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



Revision as of 12:44, 21 July 2023

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

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


अवलोकन

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

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

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

फोर्जेस

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

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

जबकि फोर्ज का उपयोग मुख्य रूप से वर्शन कण्ट्रोल संचालन करने के लिए किया जाता है, कुछ फोर्ज उपयोगकर्ताओं को इसके स्रोत कोड (जैसे एचटीएमएल(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.