एक SVN शाखा को हटाना


91

मैंने 'फीचर' नामक एक SVN प्रोजेक्ट की एक शाखा बनाई, और अब जब भी मैंने कहा प्रोजेक्ट को अपडेट करने की कोशिश की, तो वह अपने साथ एक फीचर फोल्डर लेकर आया, जिसमें ब्रांच से प्रोजेक्ट की एक और कॉपी है। क्या रिपॉजिटरी से शाखा को पूरी तरह से हटाने का एक तरीका है ताकि यह और न हो?


जवाबों:


110

ज़रूर: svn rmअवांछित फ़ोल्डर, और प्रतिबद्ध।

भविष्य में इस स्थिति से बचने के लिए, मैं SVN परियोजनाओं के लिए अनुशंसित लेआउट का पालन करूंगा :

  • अपने कोड को /someproject/trunkफ़ोल्डर में डालें (या /trunkयदि आप रिपॉजिटरी में केवल एक प्रोजेक्ट डालना चाहते हैं)
  • के रूप में शाखाएँ बनाई /someproject/branches/somebranch
  • के तहत टैग लगाएं /someproject/tags

अब जब आप वर्किंग कॉपी चेक करते हैं, तो केवल trunkया कुछ अलग-अलग ब्रांच की जांच ज़रूर करें । सभी शाखाओं वाली एक विशाल वर्किंग कॉपी में सब कुछ देखें। 1

1 जब तक आप नहीं जानते कि आप क्या कर रहे हैं, इस स्थिति में आप उथली कामकाजी प्रतियाँ बनाना जानते हैं।


58

यह मानते हुए कि यह शाखा बाहरी या सहजीवन नहीं है, शाखा को हटाना उतना ही सरल होना चाहिए:

svn rm branches/< mybranch >

svn ci -m "message"

यदि आप रिपॉजिटरी में ऐसा करना चाहते हैं तो अपनी वर्किंग कॉपी से इसे हटाने के लिए अपडेट करें आप कुछ ऐसा कर सकते हैं:

svn rm http://< myurl >/< myrepo >/branches/< mybranch >

फिर भागो:

svn update

26
से पुस्तक : तो "एक यूआरएल को हटाया जा रहा है, हालांकि, तत्काल, तो आप [-m साथ] एक लॉग संदेश की आपूर्ति करने के लिए है कि" svn rm -m message http://...और कोई updateआवश्यक
rymo

57

TortoiseSVN का उपयोग करने वालों के लिए , आप इसे रिपॉजिटरी ब्राउज़र का उपयोग करके पूरा कर सकते हैं (इसे संदर्भ मेनू में "रेपो-ब्राउज़र" कहा जाता है।)

संदर्भ की विकल्प - सूची

वह शाखा फ़ोल्डर ढूंढें जिसे आप हटाना चाहते हैं, उसे राइट-क्लिक करें, और "हटाएं" चुनें।

फ़ोल्डर को हटाना

अपना संदेश दर्ज करें, और आपका काम हो गया।

करने


अपनी डिस्क से फ़ोल्डर्स हटाने के लिए एक SVN अपडेट करें (यदि शाखा को हटाने से पहले हटाया नहीं गया)
ArieKanarie

12

आप सीधे रिमोट पर शाखा को हटा भी सकते हैं। ऐसा करने के बाद, अगला अपडेट इसे आपकी वर्किंग कॉपी से हटा देगा।

svn rm "^/reponame/branches/name_of_branch" -m "cleaning up old branch name_of_branch"

^के रूप में 'SVN जानकारी' में देखा दूरदराज के URL के लिए कम है,। विंडोज कमांड लाइन पर दोहरे उद्धरण आवश्यक हैं, क्योंकि ^एक विशेष चरित्र है।

यह कमांड भी काम करेगा यदि आपने कभी शाखा की जाँच नहीं की है।


मैं एक मैक से यह इस्तेमाल किया और यह अच्छी तरह से काम किया! जब मैंने शीर्ष उत्तर देने की कोशिश की तो मुझे प्रतिक्रिया मिली "" / स्थानीय / पथ / से / रेपो / शाखाओं / शाखा-नाम 'काम की प्रतिलिपि नहीं है "इसलिए संभवत: मैं कभी भी अपनी शाखा की जांच करने में कामयाब नहीं होऊंगा
मैड बर्नार्ड

3

आप अपने चेकआउट में किसी अन्य की तरह ही फीचर फोल्डर को हटा सकते हैं और फिर परिवर्तन कर सकते हैं।

भविष्य में इसे रोकने के लिए मेरा सुझाव है कि आप SVN लेआउट के लिए नामकरण सम्मेलनों का पालन करें।

या तो प्रत्येक प्रोजेक्ट को एक ट्रंक, शाखाएं, टैग फ़ोल्डर दें, जब वे बनाए जाते हैं।

svn
+ project1
  + trunk
    + src
    + etc...
  + branches
    + features
      + src
      + etc...
  + tags
+ project2
  + trunk
  + branches
  + tags


3

एक शाखा को हटाने की कमान इस प्रकार है:

svn delete -m "<अपना संदेश>" <शाखा url>

यदि आप संपूर्ण रेपो को लाने / चेक करने की इच्छा नहीं रखते हैं, तो अपने टर्मिनल पर निम्न कमांड निष्पादित करें:

1) उस निर्देशिका का पूर्ण पथ प्राप्त करें जिसमें आपकी कामकाजी प्रति होगी
> pwd
2) प्रारंभ svn कोड चेकआउट
> svn चेकआउट <शाखा url> <1 से निरपेक्ष पथ>

उपरोक्त चरणों में आपको शाखा फ़ोल्डर के अंदर फाइलें मिलेंगी न कि संपूर्ण फ़ोल्डर।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.