2011-11-28 10 views
11

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

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

अग्रिम धन्यवाद।

+0

यहाँ विस्तृत जवाब और प्रक्रिया देखें: http://stackoverflow.com/questions/1554278/temporarily-put-away-uncommited-changes-in-subversion-a-la-git-stash –

उत्तर

9

मैं तुम्हें लॉग दिखाएं बातचीत में इस संशोधन संदर्भ मेनू में रिवर्ट इस्तेमाल किया लगता है। नाम के बावजूद, यह वास्तव में एक रिवर्ट ऑपरेशन नहीं करता है, कम से कम इस तरह से सबवर्जन शब्द को समझता नहीं है। वास्तव में यह क्या करता है कि आपकी कार्यशील प्रति में संशोधन में बदलाव का रिवर्स विलय होता है। तो अब आपके पास अपनी कार्यशील प्रतिलिपि में सहेजे गए परिवर्तन नहीं हैं और सबवर्सन अपडेट करते समय उन्हें संरक्षित करने का प्रयास करता है। आप "संशोधनों के लिए जांचें" संवाद से सत्यापित कर सकते हैं: उन वस्तुओं को "संशोधित" के रूप में प्रदर्शित करना चाहिए।

यदि ऐसा है, तो आप अपने स्थानीय परिवर्तनों को सामान्य तरीके से त्याग सकते हैं: कार्य प्रतिलिपि में संदर्भ मेनू को "वापस करें"। इस बार, यह एक वास्तविक "वापसी" ऑपरेशन करेगा।

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

+0

हां, मैंने यही किया; मुझे एहसास नहीं हुआ कि शब्दावली भिन्न थी। मैंने आपके निर्देशों का पालन किया, और मुझे अपनी सबसे हाल की फाइलें मेरी कामकाजी निर्देशिका में वापस मिलीं। आपके सहयोग के लिए धन्यवाद! मुझे पूरा यकीन नहीं है कि आपका मतलब "रिवर्स विलय" से क्या है। क्या आप कृपया इसका अर्थ समझ सकते हैं? – Emily

+0

ए [विलय] (http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.branchmerge.basicmerging) एक शाखा में किए गए परिवर्तनों को दूसरी शाखा में बदलने की प्रक्रिया है। यह * रिवर्स * है जब आप सुविधा प्राप्त करने के लिए परिवर्तन लागू नहीं करते हैं लेकिन उनके विपरीत (सुविधा को हटाने के लिए)। –

+0

क्षमा करें, लेकिन "इस संशोधन पर वापस जाएं" वास्तव में एक रिवर्स विलय करता है। हालांकि "इस संशोधन के लिए अद्यतन" हालांकि नहीं है। – Stefan

0

नहीं। बदले में आपके स्थानीय परिवर्तनों को वापस लेना जो रिपोजिटरी ने कभी नहीं सुना है, इसलिए वहां से उन्हें पुनर्स्थापित करने का कोई तरीका नहीं है। TortoiseSVN शायद क्लाइंट पक्ष पर आपके लिए बैकअप रख सकता है, लेकिन नहीं।

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

+0

धन्यवाद आपकी प्रतिक्रिया के लिए।जब मैंने उन फ़ाइलों को वापस कर दिया तो मैंने वास्तव में कोई स्थानीय परिवर्तन नहीं किया था। मान लीजिए कि मेरा फ़ोल्डर संस्करण 100 (जो भंडार में नवीनतम संस्करण है) पर था, और मैंने कुछ फ़ाइलों को संस्करण 50 में वापस कर दिया। तो अब मैं उन फ़ाइलों को अपनी कामकाजी प्रतिलिपि में संस्करण 100 पर वापस लेना चाहता हूं (और जब तक कि मैं गलतफहमी नहीं कर रहा कुछ, उन फ़ाइलों में से 100 संस्करण अभी भी भंडार में बैठे हैं)। मैंने इस प्रक्रिया के दौरान कुछ भी नहीं किया है। क्या इन फ़ाइलों में से संस्करण 100 पर वापस जाने का कोई तरीका नहीं है क्योंकि मैंने उन्हें पहले संस्करण 50 में वापस कर दिया था? – Emily

+0

ठीक है, इसलिए एसवीएन शब्दावली में, आपने "रिवर्ट" नहीं किया था, आपने "अपडेट किया गया" (हाँ, रोजमर्रा के उपयोग के साथ बिल्कुल समान नहीं) TortoiseSVN का उपयोग करके एक विशिष्ट संशोधन संख्या -> संशोधन में संशोधन ... संवाद? – themel

+0

हाँ, मुझे एवी महसूस नहीं हुआ कि एसवीएन शब्दावली और टोर्टोइज एसवीएन शब्दावली थोड़ा अलग है। मैंने प्रत्येक फ़ाइल के लिए क्या किया था TortoiseSVN -> लॉग दिखाएँ -> इस संशोधन पर वापस जाएं, क्योंकि अल्वरो जी। विकारियो ने दूसरे जवाब में वर्णित किया है। मदद के लिए शुक्रिया! – Emily

2

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

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

लेकिन यदि आप संस्करण नियंत्रण प्राप्त करना चाहते हैं जो अधिक लचीला है, तो Git या Mercurial पर एक नज़र डालें।

+0

इस ग्रहण सुविधा का उल्लेख सिर्फ मुझे फिर से काम करने के एक अच्छे हिस्से से बचाया! – leokhorn

7

Ctrl + परियोजना निर्देशिका में जेड अगर आप को पुनः आरंभ नहीं किया है आपके कंप्यूटर

+0

इसने मेरी मदद की। यह प्रोजेक्ट विजुअल स्टूडियो में खुला था, इसलिए मैं चुनिंदा रूप से रिवर्ट को पूर्ववत कर सकता था! –

+0

कभी नहीं पता था कि संभव था। मुझे बहुत समय बचाया। धन्यवाद! –

0

पूर्ववत पर वापस लौटें:
1. राइट क्लिक करें ->TortoiseSVN -> वापस लाएं
2. राइट क्लिक करें ->SVN अद्यतन

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