কমিট করার আগে এসএনএন-তে একটি ফাইল “আনডড” করুন


200

আমি একটি পুনরাবৃত্ত এসএনএন অ্যাড / কমিট করার মাঝখানে ছিলাম এবং একটি ফোল্ডার যাতে যথাযথ উপেক্ষা বৈশিষ্ট্য নেই তা অন্তর্ভুক্ত করা হয়েছিল। আমার কাছে এখন প্রায় 100 টি আপলোড করা বাইনারি ফাইল সংস্করণ হয়েছে, তবে আমি এখনও প্রতিশ্রুতিবদ্ধ হই নি।

সমস্ত ডকুমেন্ট ডিলিট না করে এটিকে 'পূর্বাবস্থায় ফেলার' সহজতম উপায় কী?

উত্তর:


244

ব্যবহার svn revert --recursive folder_name


সতর্কতা

svn revertঅন্তর্নিহিত বিপজ্জনক, যেহেতু এর পুরো উদ্দেশ্যটি ডেটা ফেলে দেওয়া - যথা আপনার আপত্তিহীন পরিবর্তনগুলি। একবার আপনি ফিরে গেলে, সাবভার্সন এই অনির্দিষ্ট পরিবর্তনগুলি ফিরে পাওয়ার কোনও উপায় সরবরাহ করে না

http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.revert.html


12
এটিকে প্রসারিত করতে - revertকোনও সংশোধন ছাড়াই নির্দিষ্ট ফাইল (গুলি) এর জন্য পূর্ববর্তী চেকআউটের সময়সূচী পরিবর্তনগুলি যুক্ত / মোছা সহ যা ঘটেছিল তার কোনও পরিবর্তন পূর্বাবস্থায় ফিরে আসে।
অ্যাম্বার

যেখানে ফোল্ডার_নাম সেই ফোল্ডারের মূল ফোল্ডার যেখানে আপনি "যুক্ত" আদেশটি করেছিলেন
ম্যাকগাইভার

28
এই উত্তরটি বিপজ্জনকভাবে ভুল - এটি ফাইলগুলির স্থানীয় কপিগুলি অপসারণ করে আপনার পরিবর্তনগুলি আনস্টেজ করবে। নীচে ব্রায়ান ল্যাসির উত্তরটি আরও ভাল।
হেনরি হেনরিসন

6
বন্ধুরা, এটি মূল প্রশ্নের উত্তর দেয়: একটি ফাইল বা ফোল্ডার যা যুক্ত হয়েছিল, তারপরে উল্টে গেছে, কেবল মোছা না হয়ে সংস্করণবিহীন হয়ে ফিরে যায়। ঠিক এটাই প্রশ্ন জিজ্ঞাসা করে। আপনি যদি এটি পরিবর্তিত ফাইলগুলিতে ব্যবহার করেন তবে অবশ্যই তা তাদের উলটে দেয়: তবে এটি প্রশ্ন ছিল না। এটি লিঙ্কযুক্ত পৃষ্ঠায় প্রদর্শিত খুব নির্দিষ্ট ব্যবহারের কেস!
জুলিয়েন লেবোসকোয়েন

2
@ জুলিয়েনবেসকোইন ওকে, আমি আপনাকে অনুমান করি এবং আমি এই বাক্যাংশটি অন্যভাবে বুঝতে পারি: সমস্ত নথি মুছে না ফেলে । দুর্ভাগ্যক্রমে, সর্বশেষতম সংস্করণটি পুনরুদ্ধার করে ওয়ার্কিং কপির svn revertনতুন যুক্ত হওয়া পরিবর্তনগুলিও মুছে দেয় HEAD। আমি আমার ডাউনভোটটি সরিয়েছি, তবে আমি এখনও সতর্কতাটি গুরুত্বপূর্ণ বলে মনে করি।
jpaugh

145

svn rm --keep-local folder_name

দ্রষ্টব্য: এসএনএন 1.5.4-এ এসএনএন আরএম - -কিপি-লোকাল নির্দিষ্ট করা থাকলেও বিপরীত ফাইলগুলি মুছে দেয়। আরও তথ্যের জন্য http://svn.haxx.se/users/archive-2009-11/0058.shtml দেখুন ।


9
এটি জেনে রাখা ভাল কারণ এটি আপনাকে পরিবর্তনগুলি হারাতে না পারলে কেবল "এসএনএন অ্যাড" পূর্বাবস্থায় ফেলার অনুমতি দেয়!
রায়ান এইচ।

1
আপনি কি কিছু নির্দিষ্ট এসভিএন 1.5.4 রূপান্তরিত ফাইলগুলি মুছবেন? প্রতিবেদনটি পুনরুত্পাদনযোগ্য ছিল না এবং এটি সম্পর্কে অন্য কোনও ইমেল নেই।
কোয়ান্টিন প্রদেট

4
আপনি যদি ফাইলগুলি "আনডড" করতে চান তবে এটি এখনও রাখুন এটি আরও ভাল উত্তর। এই কমান্ডের পরে, ফাইলগুলি এখনও সেখানে থাকবে? অবস্থা।
রবিন জিম্মারম্যান

32

svn revert filenameআপনার প্রয়োজন হয় না এবং এখনও প্রতিশ্রুতিবদ্ধ না প্রতিটি ফাইলের জন্য চেষ্টা করুন । অথবা বিকল্পভাবে svn revert -R folderসমস্যাযুক্ত ফোল্ডারটির জন্য করুন এবং তারপরে সঠিক উপেক্ষা কনফিগারেশন সহ অপারেশনটি পুনরায় করুন।

ডকুমেন্টেশন থেকে:

 you can undo any scheduling operations:

$ svn add mistake.txt whoops
A         mistake.txt
A         whoops
A         whoops/oopsie.c

$ svn revert mistake.txt whoops
Reverted mistake.txt
Reverted whoops

4
না! প্রত্যাবর্তনটি অনিরাপদ, কারণ এটি সমস্ত স্থানীয় পরিবর্তন হারিয়ে ফেলে
jpaugh

@ জেপফ - উত্তরে আমি ঠিক এটাই লিখেছি, না?
বোবাহ

1
ওপি যা চেয়েছিল (এবং আমি কী প্রত্যাশা করছিলাম) সেটি ছিল স্থানীয় পরিবর্তনগুলি না হারিয়ে the svn revert। এখানে উত্তরগুলির মধ্যে কোনওটিই এই সত্যটি উল্লেখ করে না যে স্থানীয় পরিবর্তনগুলি প্রত্যাবর্তনের মাধ্যমে হারিয়ে যাবে।
jpaugh

3

সম্পূর্ণ প্রক্রিয়া (ইউনিক্স এসএনএন প্যাকেজ):

ফাইলগুলি এসভিএন-তে নেই তা পরীক্ষা করুন:

> svn st -u folder 
? folder

সমস্ত যুক্ত করুন (উপেক্ষা করা ফাইল সহ):

> svn add folder
A   folder
A   folder/file1.txt
A   folder/folder2
A   folder/folder2/file2.txt
A   folder/folderToIgnore
A   folder/folderToIgnore/fileToIgnore1.txt
A   fileToIgnore2.txt

সকলগুলিতে "যুক্ত করুন" পতাকাটি সরান * ফাইল উপেক্ষা করুন:

> cd folder

> svn revert --recursive folderToIgnore
Reverted 'folderToIgnore'
Reverted 'folderToIgnore/fileToIgnore1.txt'


> svn revert fileToIgnore2.txt
Reverted 'fileToIgnore2.txt'

ফোল্ডারে এসএনএন উপেক্ষা সম্পাদনা করুন

svn propedit svn:ignore .

কেবল নিম্নলিখিতগুলির সাথে দুটি একক লাইন যুক্ত করুন:

folderToIgnore
fileToIgnore2.txt

কোন ফাইলগুলি আপলোড হবে এবং প্রতিশ্রুতিবদ্ধ হবে তা পরীক্ষা করুন:

> cd ..

> svn st -u
A   folder
A   folder/file1.txt
A   folder/folder2
A   folder/folder2/file2.txt


> svn ci -m "Commit message here"

1
ধন্যবাদ, ঠিক আমার যা দরকার ছিল। দেখে মনে হচ্ছে এটি কেবলমাত্র 'অ্যাড' অপারেশনটিকে ফিরিয়েছে, ফাইলের সামগ্রীতে নিজেই স্পর্শ করছে না। পূর্ববর্তী উত্তরের মন্তব্য হিসাবে আমি স্থানীয় পরিবর্তনগুলি হারাতে ভীত হয়েছি, তবে মনে হয় কোনও ফাইল ক্ষতিগ্রস্থ হয়নি।
পিটার এম - মনিকা

1

ফাইলগুলির জন্য - svn revert filename

ফোল্ডারগুলির জন্য - svn revert -R folder


4
না! প্রত্যাবর্তনটি অনিরাপদ, কারণ এটি সমস্ত স্থানীয় পরিবর্তন হারিয়ে ফেলে
jpaugh
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.