SVN में फ़ाइलों के साथ एक मौजूदा फ़ोल्डर कैसे जोड़ें?


84

आप एक विशिष्ट SVN स्थान पर संस्करण नियंत्रण के बिना एक फ़ोल्डर कैसे जोड़ते हैं? मैं अक्सर कोड लिखना शुरू कर देता हूं और मेरे पास केवल कुछ फ़ोल्डर हैं जिनमें कोड फाइलें हैं मैं इसे एसवीएन में जोड़ता हूं।

मैं आमतौर पर क्या करता हूं:

  1. svn सह मूल निर्देशिका जहां मैं अपना कोड स्टोर करने के लिए एक नया फ़ोल्डर बनाना चाहता हूं।
  2. svn mkdir निर्देशिका बनाने के लिए मैं अपना कोड डालना चाहता हूं।
  3. मेरे कोड को कॉपी और पेस्ट करें।
  4. svn कमिट
  5. मेरे वर्तमान कार्य कोड निर्देशिका को हटा दें।
  6. Svn सह का उपयोग करके मेरी कार्य कोड निर्देशिका को फिर से बनाएं ।

2
करने के लिए संभावित डुप्लिकेट stackoverflow.com/questions/2431389/...
pmod

जवाबों:


134

मान लीजिए कि मेरे पास निर्देशिका में कोड है ~/local_dir/myNewApp, और मैं इसे ' https://svn.host/existing_path/myNewApp ' (कुछ बायनेरिज़, वेंडर लाइब्रेरी आदि की उपेक्षा करने में सक्षम होने के कारण) के तहत रखना चाहता हूं ।

  1. रिपॉजिटरी में एक खाली फ़ोल्डर बनाएँ svn mkdir https://svn.host/existing_path/myNewApp
  2. परियोजना की मूल निर्देशिका पर जाएं, cd ~/local_dir
  3. अपने स्थानीय फ़ोल्डर पर खाली निर्देशिका देखें। डरो मत - आपके पास स्थानीय रूप से मौजूद फाइलें नष्ट नहीं होंगी। svn co https://svn.host/existing_path/myNewApp। यदि आपके फ़ोल्डर का रिपॉजिटरी की तुलना में स्थानीय रूप से अलग नाम है, तो आपको इसे एक अतिरिक्त तर्क के रूप में निर्दिष्ट करना होगा।
  4. आप देख सकते हैं कि svn stअब आपकी सभी फाइलें दिखेंगी ?, जिसका अर्थ है कि वे वर्तमान में संशोधन नियंत्रण में नहीं हैं
  5. svn addउन फ़ाइलों पर प्रदर्शन करें जिन्हें आप रिपॉजिटरी में जोड़ना चाहते हैं, और दूसरों को जोड़ें svn:ignoresvn help addउदाहरण के लिए , --parentsया --depth empty, जब आप कुछ चुनिंदा फ़ाइलें / फ़ोल्डर जोड़ना चाहें, तो आपको कुछ उपयोगी विकल्प मिल सकते हैं ।
  6. के साथ प्रतिबद्ध है svn ci

अंक 5 पर: आप अपने काम की सभी फाइलों / डायरियों को इस तरह से बैश में जोड़ सकते हैं: find . -name .svn -prune -o -print0|xargs -0 svn add
निकोलस एम।

1
सबसे अच्छा मैं कैसे svn में नया सामान प्राप्त करने के लिए देखा है।
कॉलिन टी हार्ट

आप यह कैसे करते हैं: "यदि आपके फ़ोल्डर में रेपो की तुलना में स्थानीय रूप से अलग नाम है, तो आपको इसे अतिरिक्त तर्क के रूप में निर्दिष्ट करना होगा"
क्रिस्टोफ़ पाल

1
@ क्रिस्तोफेल:svn co https://svn.host/existing_path/myNewApp ~/local_dir/localNameOfFolder
क्यूबलेक

1
धन्यवाद, @qbolec के लिए, "डरो मत।" सभी पर +1, "सबसे अच्छा जवाब।" उन लोगों के लिए एक संकेत के रूप में जो अभी भी भयभीत हो सकते हैं: यदि आप अभी भी डरते हैं तो आप अपना काम वापस कर सकते हैं।
Stephan शमूएल

55

अगर मुझे आपके उपयोग के मामले में सही तरीके से समझ में आया है, तो मैं सुझाव देता हूं कि संस्करण के तहत नया फ़ोल्डर डालने के लिए svn ऐड का उपयोग करने का प्रयास करें , यहां देखें । निम्न संस्करण नियंत्रण के तहत पुनरावर्ती फ़ाइलों के साथ नया फ़ोल्डर जोड़ देगा (यदि आप मान्य कार्य प्रतिलिपि के अंदर हैं):

svn add new_folder
svn commit -m "Add New folder to the project"

यदि आप एक कार्य प्रतिलिपि में नहीं हैं, तो इसे svn चेकआउट के साथ बनाएं , वहां new_folder की प्रतिलिपि बनाएँ और उपरोक्त चरणों को करें।

या

Svn आयात करने की कोशिश करें , यहां देखें ; निम्नलिखित एक नया फ़ोल्डर बनाएगा और रिपॉजिटरी में फाइल अपलोड करेगा:

svn import -m "Import new folder to the project" new_folder \
        http://SVN_REPO/repos/trunk/new_folder

यह भी ध्यान दें:

डेटा आयात करने के बाद, ध्यान दें कि मूल पेड़ संस्करण नियंत्रण में नहीं है। काम करना शुरू करने के लिए, आपको अभी भी पेड़ की एक ताजा काम करने वाली कॉपी की जांच करने की आवश्यकता है


लेकिन मूल फ़ोल्डर संस्करण नियंत्रण के अंतर्गत नहीं है। यह कैसे पता चलता है कि इसे svn रिपॉजिटरी में कहां रखा जाए
Siecje

यह मेरे लिए स्पष्ट नहीं है कि आपके फ़ोल्डर कहां हैं, तो क्या आप "वर्किंग कॉपी" में काम नहीं कर रहे हैं?
रात्रि

मेरे पास फ़ोल्डर्स के साथ पहले से मौजूद svn रिपॉजिटरी है। मैं गैर svn फाइल और फोल्डर बनाता हूं और उन्हें रिपॉजिटरी में जोड़ना चाहूंगा। जिस तरह से मैं अब कर रहा हूं वह एक निर्देशिका को ऊपर से जांचना है जहां मैं अपना प्रोजेक्ट डालना चाहता हूं। फिर मैं चेकआउट स्थान पर पेस्ट कॉपी करता हूं और वहां svn जोड़ देता हूं।
सीकेजे

@ सिकिजे मुझे लगता है कि अब मुझे समझ में आ गया है कि आपका क्या मतलब है
रात्रोद

इसलिए मुझे एक चेकआउट करना होगा, जिसका मतलब है कि मुझे फाइलों को हटाना होगा और उन्हें SVN से रिड्यूस करना होगा? इसलिए वेबसाइट फ़ाइलों के लिए साइट को ऐसा करते समय एक सेकंड के लिए नीचे जाने की आवश्यकता होगी?
सीकेजे

9

मैं आदेशों का उपयोग नहीं करता। आपको GUI का उपयोग करके ऐसा करने में सक्षम होना चाहिए:

  • अपने My Documents फ़ोल्डर में खाली जगह पर राइट-क्लिक करें, TortoiseSVN> रेपो-ब्राउज़र चुनें।
  • दर्ज http: // तोड़फोड़ ... अपने पथ का चयन करें और ठीक के रूप में (अपने सबवर्सन सर्वर / निर्देशिका में अपनी URL पथ आप के लिए बचत होगी)
  • रेपो में रूट डायरेक्टरी को राइट-क्लिक करें और Add folder चुनें । इसे अपने प्रोजेक्ट का नाम दें और इसे बनाएं।
  • रेपो-ब्राउज़र में प्रोजेक्ट फ़ोल्डर पर राइट-क्लिक करें और चेकआउट चुनें । चेकआउट निर्देशिका आपका Visual Studio\Projects\{your project}फ़ोल्डर होगा। ठीक का चयन करें।
  • आपको एक चेतावनी मिलेगी कि फ़ोल्डर खाली नहीं है। उस फ़ोल्डर को चेकआउट / निर्यात करने के लिए हां कहें - यह आपकी परियोजना फाइलों को अधिलेखित नहीं करेगा।
  • अपना प्रोजेक्ट फ़ोल्डर खोलें। आप उन फ़ोल्डरों पर सवालिया निशान देखेंगे जो आपके वीएस प्रोजेक्ट से जुड़े हैं जो अभी तक तोड़फोड़ में शामिल नहीं हुए हैं। Ctrl + क्लिक का उपयोग करके उन फ़ोल्डरों का चयन करें, फिर चयनित आइटमों में से एक पर राइट-क्लिक करें और TortoiseSVN> Add चुनें
  • प्रॉम्प्ट पर ठीक का चयन करें
  • आपकी फ़ाइलों को जोड़ना चाहिए। जोड़ें समाप्त पर ठीक का चयन करें! संवाद
  • फ़ोल्डर के खाली क्षेत्र में राइट-क्लिक करें और रिफ्रेश चुनें। अब आपको फ़ोल्डर / फ़ाइलों पर "+" आइकन दिखाई देंगे
  • फ़ोल्डर में एक बार फिर से खाली क्षेत्र पर राइट-क्लिक करें और एसवीएन कमिट चुनें
  • एक संदेश जोड़ें कि आप क्या कर रहे हैं और ठीक पर क्लिक करें

1

यदि इरादा एसवीएन के लिए स्थानीय / काम की प्रतिलिपि जोड़ रहा है, तो मैं इसे निम्नलिखित तरीके से करता था।

नोट: मैं TortoiseSVN क्लाइंट का उपयोग करता हूं और इन चरणों का मानना ​​है कि आपके पास पहले से TortoiseSVN क्लाइंट स्थापित है।

  1. मेरे पास अपने स्थानीय में एक परियोजना (टेस्ट-4.2.2) है। मैं इसे SVN रिपॉजिटरी में अपलोड / जोड़ना चाहता हूं।
  2. TortoiseSVN रेपो-ब्राउज़र का उपयोग करते हुए, मैंने एक खाली निर्देशिका बनाई, "टेस्ट-4.2.2"
  3. मेरे स्थानीय में मैंने मौजूदा "टेस्ट-4.2.2" निर्देशिका का नाम बदलकर "टेस्ट-4.2.2.1" (अस्थायी) कर दिया है
  4. SVN से अपने स्थानीय के लिए खाली "Test-4.2.2" चेकआउट करें
  5. इस चेकआउट निर्देशिका 4.2.2 के तहत सभी उप-निर्देशिकाओं को 4.2.2.1 के तहत कॉपी करें
  6. अब, "टेस्ट-4.2.2" पर राइट क्लिक करें और कमिट करें।
  7. अस्थायी फ़ोल्डर हटाएं, "टेस्ट-4.2.2.1"

1

विंडोज 7 में मैंने ऐसा किया:

  1. क्या आपने एसवीएन और कछुआ एसवीएन स्थापित किया है? यदि नहीं, तो Google उन्हें और अभी ऐसा करें।
  2. अपने एसवीएन फ़ोल्डर पर जाएं जहां आपके पास अन्य रिपॉजिटरी (रिपॉजिटरी के लिए छोटा) हो सकता है (या यदि आप स्क्रैच से एक बना रहे हैं, तो एक स्थान सी ड्राइव, डी ड्राइव, आदि या नेटवर्क पथ चुनें)।
  3. अपने नए भंडार को संग्रहीत करने के लिए एक नया फ़ोल्डर बनाएँ। इसे अपने प्रोजेक्ट टाइटल के समान नाम दें
  4. फोल्डर को राइट क्लिक करें और Tortoise SVN -> क्रिएट रिपॉजिटरी चुनें
  5. फोल्डर स्ट्रक्चर बनाने के लिए हां कहें
  6. ओके पर क्लिक करें। आपको अपने नए फ़ोल्डर / रेपो के बगल में "लहर" जैसा दिखने वाला एक नया आइकन देखना चाहिए
  7. नए रेपो पर राइट क्लिक करें और एसवीएन रेपो ब्राउजर चुनें
  8. 'ट्रंक' पर राइट क्लिक करें
  9. ADD फ़ोल्डर चुनें ... और विकास में अपने प्रोजेक्ट की फ़ोल्डर संरचना को इंगित करें।
  10. OK पर क्लिक करें और SVN आपके फोल्डर स्ट्रक्चर को ऐड कर देगा। धैर्य रखें! ऐसा लग रहा है कि एसवीएन दुर्घटनाग्रस्त / जमी हुई है। चिंता मत करो। यह अपना काम कर रहा है।

किया हुआ!


0

3 चरण:

  • "रेपो ब्राउज़र" खोलें (yr पैरेंट फ़ोल्डर का लिंक का उपयोग करें)।
  • राइट क्लिक "Add Folder" चुनें।
  • अपने फ़ोल्डर में ब्राउज़ करें।

यहां छवि विवरण दर्ज करें


आप इस तरह मौजूद नहीं है कि एक फ़ोल्डर जोड़ सकते हैं। "फ़ोल्डर जोड़ें" आपको एक एक्सप्लोरर विंडो देगा ताकि आप किसी मौजूदा फ़ोल्डर को इंगित कर सकें, फिर एक कमिट विंडो दें, ताकि आप इसे सबमिशन में जोड़ सकें। यह स्थानीय पक्ष पर एक नया फ़ोल्डर बनाने के लिए नहीं है - जिसे अभी भी मैन्युअल रूप से करने की आवश्यकता है, और वहां आबादी है, फिर इसका उपयोग इसकी सामग्री को तोड़फोड़ करने के लिए किया जा सकता है। यह केवल कहानी का आधा हिस्सा देता है।
vapcguy 16

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