2009-03-30 12 views
216

संभव डुप्लिकेट:
What do “branch”, “tag” and “trunk” really mean?सबवर्जन में ट्रंक, शाखा और टैग क्या है?

एक ट्रंक, शाखा और सबवर्सन में टैग क्या है और उन्हें उपयोग करने के लिए सर्वोत्तम प्रथाओं क्या हैं?

Visual Studio 2008 में सबवर्जन के लिए मैं कौन से टूल्स का उपयोग कर सकता हूं?

+0

... इसके साथ संयुक्त: http://stackoverflow.com/questions/453481/subversion-plugin-to-visual-studio –

+2

http://stackoverflow.com/questions/16142: "* [शाखा क्या करें "," टैग "और" ट्रंक "वास्तव में मतलब है?] (Http://stackoverflow.com/questions/16142/what-do-branch-tag-and-trunk-really-mean) *"। –

उत्तर

275

ट्रंक एक एसवीएन भंडार में विकास की मुख्य पंक्ति है।

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

अंत में, टैग रिपोजिटरी के इतिहास में उल्लेखनीय संशोधन को हाइलाइट करने के लिए मार्कर हैं, आमतौर पर "यह 1.0 के रूप में जारी किया गया था" जैसी चीजें हैं।

तकनीकी विवरणों की गहन चर्चा के लिए "Version Control with Subversion", विशेष रूप से Chapter 4: Branching and Merging का HTML संस्करण देखें या इसे पेपर में खरीदें (उदा। amazon से)।

दूसरों के रूप में (नीचे उदा पीटर Neubauer) /tags/branches और /trunk निर्देशिका के रूप में अंतर्निहित कार्यान्वयन केवल conventional और नहीं उपकरण द्वारा लागू किसी भी तरह से है। इन सम्मेलनों का उल्लंघन करने से आसपास चारों ओर भ्रम पैदा होता है, क्योंकि यह भंडार तक पहुंचने वाले लोगों की आदतों और अपेक्षाओं को तोड़ देता है। टैग में नए बदलाव करने से बचने के लिए विशेष देखभाल की जानी चाहिए, जो जमे हुए होना चाहिए।


मैं TortoiseSVN का उपयोग करता हूं लेकिन कोई दृश्य स्टूडियो एकीकरण नहीं करता है। मैं पूरे मॉनिटर पर "मॉनिटर के लिए जांचें" संवाद खोलता हूं, इसलिए मैं ट्रैक कर सकता हूं कि मैंने कौन सी फाइलों को छुआ है। लेकिन अधिक सिफारिशों के लिए, "Best SVN Tools" प्रश्न देखें।

+5

मुझे लगता है कि अंख मेरे लिए सबसे अच्छा है। मैं दृश्य स्टूडियो के भीतर से लगभग सबकुछ कर सकता हूं। धन्यवाद !!! –

+1

मूल रूप से, @ पीटर-न्यूबॉयर और कोजी (नीचे) द्वारा दिए गए उत्तरों तर्कसंगत रूप से सत्य के करीब हैं। जैसा कि उन्होंने ध्यान दिया है, डेविड श्मिट का जवाब यहां बस _convention_ बताता है कि उन निर्देशिकाओं का उपयोग आमतौर पर कैसे किया जाता है - लेकिन वास्तव में उन फ़ोल्डर्स के बारे में सभी जादुई नहीं हैं, या उनका उपयोग कैसे किया जाता है। डेविड श्मिट के लिए धन्यवाद, लेकिन महत्वपूर्ण अंतर को चित्रित करने के लिए दूसरों के लिए +1 है। – rondoagogo

+2

"तर्कसंगत" ओपी ने सर्वोत्तम प्रथाओं के बारे में पूछा, न कि उन लोगों के कार्यान्वयन (IMHO बहुत कमजोर)। –

17

सबवर्सन के बारे में सीखना शुरू करने के लिए एक शानदार जगह http://svnbook.red-bean.com/ है।

जहां तक ​​विजुअल स्टूडियो उपकरण का संबंध है, मुझे AnkhSVN पसंद है, लेकिन मैंने अभी तक VisualSVN प्लगइन को आजमाया नहीं है।

विजुअल एसवीएन TortoiseSVN पर भरोसा करता है, लेकिन टोर्टोइज एसवीएन भी अंख IMHO के लिए एक अच्छा पूरक है।

+0

आपको यह धारणा कहां मिली कि अंख कछुए पर निर्भर करता है? अफैइक जो मामला नहीं है, केवल विजुअल एसवीएन के लिए। – Joey

+0

मुझे नहीं पता कि मुझे यह इंप्रेशन कहां मिला लेकिन मुझे लगा कि इसकी आवश्यकता थी। किसी भी मामले में मुझे लगता है कि कछुए को तारीफ के रूप में रखना अच्छा लगता है, लेकिन मुझे इसे देखने के लिए धन्यवाद! –

+0

मेरे पास कछुआ के बिना स्थापितख है। –

7

एक ट्रंक को आपका मुख्य कोड बेस, ट्रंक की एक शाखा ऑफशूट माना जाता है। जैसे, यदि आप एक नई सुविधा को लागू करना चाहते हैं, तो आप एक शाखा बनाते हैं, लेकिन मुख्य ट्रंक को प्रभावित नहीं करना चाहते हैं।

TortoiseSVN में अच्छा प्रलेखन है, और एक बड़ा diff उपकरण है।

मैं विजुअल स्टूडियो का उपयोग करता हूं, और मैं VisualSVN और टोर्टोइज एसवीएन का उपयोग करता हूं।

9

विजुअल   स्टूडियो   2008 में सबवर्सन का उपयोग करने के लिए, TortoiseSVN और AnkhSVN इंस्टॉल करें।

TortoiseSVN एक वास्तव में आसान विंडोज के लिए संशोधन नियंत्रण/संस्करण नियंत्रण/स्रोत नियंत्रण सॉफ्टवेयर का प्रयोग है। चूंकि यह एक विशिष्ट आईडीई के लिए एकीकरण नहीं है, इसलिए आप इसे जो भी विकास उपकरण पसंद करते हैं उसका उपयोग कर सकते हैं। TortoiseSVN उपयोग करने के लिए स्वतंत्र है। आपको ऋण पाने या इसे पूरा करने के लिए पूर्ण वर्ष का वेतन चुकाने की आवश्यकता नहीं है।

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

3

सबवर्सन पर एक अच्छी किताब Pragmatic Version Control using Subversion जहां अपने प्रश्न से समझाया गया है, और यह एक बहुत अधिक जानकारी देता है।

5

यदि आप आप SmashingMagazine.com पर इस पोस्ट, उचित शीर्षक Ultimate Round-Up for Version Control with SubVersion की जाँच कर सकते हैं तोड़फोड़ के लिए नए हैं।

इसमें ट्यूटोरियल, संदर्भ सामग्री, & पुस्तक सुझाव के लिंक के साथ सबवर्सन के साथ शुरुआत करना शामिल है।

इसमें उपकरण शामिल हैं (कई संगत विंडोज़ हैं), और यह दृश्य स्टूडियो संगत प्लगइन के रूप में AnkhSVN का उल्लेख करता है। टिप्पणियों में एक विकल्प के रूप में VisualSVN का भी उल्लेख है।

4

यदि आपके पास डेवलपर्स की टीम है तो SVN Monitor का उपयोग करने के लिए एक शानदार निःशुल्क उपयोगिता है। यह आपके पेड़ के लिए दिल की धड़कन के रूप में कार्य करता है, आपको बताता है कि अपडेट, संभावित संघर्ष आदि हैं। हालांकि यह एकल डेवलपर के लिए काफी उपयोगी नहीं है।

32

सबवर्सन में "ट्रंक", "शाखाएं" और "टैग" निर्देशिका सम्मेलन हैं। सबवर्सन के लिए आपको इन निर्देशिकाओं की आवश्यकता नहीं होती है और न ही उन्हें विशेष अर्थ दिया जाता है। हालांकि, यह सम्मेलन बहुत आम है और, जब तक कि आपके पास वास्तव में कोई अच्छा कारण न हो, आपको सम्मेलन का पालन करना चाहिए। पुस्तक लिंक जो अन्य पाठकों ने सम्मेलन का वर्णन किया है और इसका उपयोग कैसे किया है।

22

डेविड श्मिट द्वारा उत्तर बहुत अच्छी चीजें बताता है, लेकिन मुझे लगता है कि एसवीएन को, 'शाखा', 'टैग' और 'ट्रंक' शब्द का अर्थ कुछ भी नहीं है। ये शर्तें पूरी तरह से अर्थपूर्ण हैं और केवल सिस्टम के उपयोगकर्ताओं के रूप में, उन निर्देशिकाओं का इलाज करने के तरीके को प्रभावित करती हैं। कोई आसानी से उन्हें 'मुख्य', 'परीक्षण' और 'रिलीज़' नाम दे सकता है; जब तक सिस्टम का उपयोग करने वाला हर कोई समझता है कि प्रत्येक सेक्शन को सही तरीके से कैसे उपयोग किया जाए, तो इससे कोई फर्क नहीं पड़ता कि उन्हें क्या कहा जाता है।

+0

हाँ यह सच है। सबवर्सन आपको ऐसे नामकरण सम्मेलनों से प्रतिबंधित नहीं करता है। यह सिर्फ एक सिफारिश है। आपके उत्तर के लिए धन्यवाद, इससे मदद मिली। –

+0

तो उदाहरण के लिए, उपversण "संशोधन" की अवधारणा को जानता है? क्या हर कोई सिर्फ पूरे भंडार का स्नैपशॉट करता है? अगर आप रिलीज टैग के 50% को गलती से चेक-इन में से एक के साथ मिटा देते हैं तो आप कैसे जानते हैं? क्या आपको लगातार इसके लिए देखना नहीं पड़ेगा? –

+0

@ebyrob यह थोड़ी देर के बाद से मैंने एसवीएन का उपयोग किया है, लेकिन आईआईआरसी, एसवीएन ट्रैक संशोधनों के बीच भिन्न होता है, न कि पूरे स्नैपशॉट्स। भले ही, और किसी भी वीसीएस में, रिलीज टैग (या उस मामले के लिए कोई अन्य फ़ाइल/फ़ोल्डर) "हटाने" की संभावना है जिसे आप हटाना नहीं चाहते हैं। मैंने उद्धरणों में "हटाएं" रखा है, हालांकि, क्योंकि यह वास्तव में वास्तव में कभी नहीं चला है, यह हमेशा इतिहास में होता है और हमेशा बहाल किया जा सकता है (जीआईटी में शायद 1 * बहुत * फ्रिंज केस को छोड़कर, मुझे लगता है) – KOGI

संबंधित मुद्दे