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

From Vigyanwiki
No edit summary
No edit summary
 
(10 intermediate revisions by 4 users not shown)
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|गिट]] या [[अस्थिर|मर्क्यूरियल]] या सेंट्रलाइज्ड जैसे सबवर्जन, सीवीएस(CVS) या परफोरस रिपोजिटरी में जानकारी के पूरे सेट को प्रत्येक उपयोगकर्ता के सिस्टम पर प्रतिरूप किया जा सकता है या एक ही [[सर्वर (कंप्यूटिंग)]] पर बनाए रखा जा सकता है।<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) पेज सम्मिलित हैं।
 
इस प्रकार की सेवा के उदाहरणों में गिटहब पेज और गिटलैब पेज सम्मिलित हैं।


==यह भी देखें==
==यह भी देखें==
Line 36: Line 37:
*गिट
*गिट
*फोर्ज (सॉफ्टवेयर)
*फोर्ज (सॉफ्टवेयर)
*[[स्रोत-कोड-होस्टिंग सुविधाओं की तुलना]]
*सोर्स-कोड-होस्टिंग सुविधाओं की तुलना


==संदर्भ==
==संदर्भ==
Line 42: Line 43:


{{Version control software}}
{{Version control software}}
[[Category: संस्करण नियंत्रण]]


[[Category: Machine Translated Page]]
[[Category:Collapse templates]]
[[Category:Created On 10/07/2023]]
[[Category:Created On 10/07/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with script errors]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia metatemplates]]
[[Category:संस्करण नियंत्रण]]

Latest revision as of 15:23, 31 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.