স্থানীয় সম্পাদনাগুলি ফিরিয়ে না দিয়ে এসএনএন অ্যাড পূর্বাবস্থায় ফিরিয়ে আনুন


157

আমি দুর্ঘটনাক্রমে দৌড়ে গিয়েছি svn add *এবং গুচ্ছ ফাইলগুলি সংযোজন করেছি যা সংগ্রহশালায় থাকা উচিত নয়। আমি রাখতে চাই এমন কিছু ফাইলে স্থানীয় সম্পাদনাও রয়েছে। svn addস্থানীয় সম্পাদনাগুলি ফিরিয়ে না নিয়ে কী কেবল পূর্বাবস্থায় ফিরে যাওয়ার সহজ উপায় আছে ? গুগলে আমি যে প্রধান পরামর্শটি দেখি তা হ'ল svn revertযা স্থানীয় সম্পাদনাগুলি অনুমিত বলে মনে করে।

উত্তর:


282

এটি হবে:

svn rm --keep-local

আমার সাথেও একই ঘটনা ঘটেছে. :-P

আপনার ব্যবহার করা উচিত বলে মন্তব্য করেছেন অনেকে:

svn rm --keep-local FILENAME

এক বা একাধিক ফাইলে কমান্ড প্রয়োগ করার জন্য, সমস্ত কিছুর পরিবর্তে, যার অনিচ্ছাকৃত পার্শ্ব-প্রতিক্রিয়া থাকতে পারে।


1
এটি আমার জন্য কোনও প্রভাব ফেলেনি। আমি বেস ফোল্ডার থেকে উপরের মত কোডটি (চলার সময়কাল সহ) চালিয়েছি। আমি কিছু মিস করছি কিনা তা নিশ্চিত নয়।
zzz

8
আপনি নোট করুন যে আপনাকে কমান্ডটিতে ফাইলের নাম যুক্ত করতে হবে যাতে এটি ঘটে svn rm --keep-local FILENAMEFILENAMEএকাধিক ফাইল মেলে * ব্যবহার করতে পারেন (যদি আপনি একটি প্যাটার্ন আছে ভাগ্যবান যথেষ্ট)।
আদম বদুরা

4
সতর্ক বার্তা! - এসএনএন এক্সটার্নালগুলি ব্যবহার করার সময় এই কমান্ডটি ব্যবহার করা সমস্ত সংযুক্ত
বহিরাগতগুলিও

2
আপনি যদি এটি প্রতিশ্রুতিবদ্ধ হন, তবে কমিটমেন্টগুলিতে রেপো থেকে প্রশ্নে থাকা ফাইলটি সরানো অন্তর্ভুক্ত হবে না?
jwg

1
//, আমার কাছে jwg এর মতো একই প্রশ্ন রয়েছে। আমি একটি এসভিএন নিয়ন্ত্রিত ফাইলে কিছু সম্পাদনা করেছি। আমি এই সম্পাদনাগুলি স্থানীয়ভাবে রাখতে চাই। যাইহোক, আমি কি না পুরাপুরি সংগ্রহস্থল থেকে ফাইল সরাতে চাই। আমি কেবল আমার স্থানীয় সম্পাদনাগুলি ফাইলটিতে ঠেলাতে চাই না।
নাথান বাসানিজ

34

যদি এই ফাইলগুলি এমন কোনও ডিরেক্টরিের অধীনে থাকে যা এখনও প্রতিশ্রুতিবদ্ধ হয় নি, আপনি পরবর্তী কমিট থেকে সম্পূর্ণ ডিরেক্টরি সামগ্রীকরণগুলি মুছে ফেলতে পারেন:

svn delete --keep-local /path/to/directory

তবে, যদি সেই ফাইলগুলি ইতিমধ্যে সংগ্রহস্থলে থাকে এবং এখন এমন পরিবর্তনগুলি থাকে যা আপনি প্রতিশ্রুতিবদ্ধ করতে চান না, তবে আপনি বাকী ফাইলগুলি চেঞ্জলিস্ট ব্যবহার করে প্রতিশ্রুতিবদ্ধ করতে পারেন:

svn changelist somename /file/to/be/committed
svn commit --changelist somename

7

আপনি নিম্নলিখিত পদ্ধতিতে আপনার চেকআউটটি ঠিক করতে পারেন:

  1. আপনার স্থানীয় ফাইলগুলি ব্যাকআপ করুন
  2. এসভিএন চেকআউটটি ফিরিয়ে দিন
  3. ফাইলগুলি পুনরুদ্ধার করুন

-

rsync -av --exclude .svn/ YOURDIR/ YOURDIR.bak
svn revert -R YOURDIR
rsync -av YOURDIR.bak/ YOURDIR 

চূড়ান্ত কমান্ড সর্বদা একটি অতিরিক্ত ডিরেক্টরি স্তর তৈরি করে, যেমন শেষ হয় YOURDIR/YOURDIR/, যদিও আমি মনে করি যে বিষয়টি প্রাথমিক ব্যাকআপ কমান্ড তৈরির মধ্যে রয়েছে YOURDIR.bak/YOURDIR/
জেমস

এটি এড়াতে সোর্স ডিরেক্টরিতে আরএসইএনসি-র জন্য একটি ট্রেলিং স্ল্যাশ দরকার। আমি উত্তর সম্পাদনা করেছি।
ব্রাইস এম। ডেম্পসে

3

আমার একই সমস্যা ছিল, আমি দুর্ঘটনাক্রমে একটি / ডিরেক্টরি যুক্ত svn addকরি যার মাধ্যমে বাইনারি এবং সংকলিত ফাইল রয়েছে। এই কমান্ডটি আসলে ডিরেক্টরি মুছে দেয়।

svn rm --force <directory-name>

আমার ক্ষেত্রে আমার ডিরেক্টরি প্রয়োজন নেই তাই এটি মুছে ফেলা নিরাপদ ছিল। আপনি যদি ফাইল / ডিরেক্টরি সংরক্ষণ করতে চান তবে কমান্ড প্রয়োগ করার আগে এবং সেগুলি অনুলিপি করার পরে কোনও জায়গায় সংরক্ষণ করুন

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