আমি মনে করি আপনি সম্ভবত সূচকের ধারণার সাথে বিভ্রান্ত হয়ে পড়েছেন , যেমনটি @ সিবি বেইলি মন্তব্য করেছেন:
মঞ্চ অঞ্চলটি সূচক।
আপনি কেবল বিবেচনা করতে পারেন ডিরেক্টরি নাটক মঞ্চস্থ এবং সূচক একই জিনিস হিসাবে।
সুতরাং, ঠিক @ টিম হেনিগানের জবাবের মতো , আমার ধারণা:
আপনি কেবল git add
সেই ফাইলটির জন্য "পূর্বাবস্থায় ফিরে যেতে" চান ।
আমার উত্তর এখানে:
সাধারণত, মঞ্চের ক্রিয়াকলাপটি পূর্বাবস্থায় ফেলার দুটি উপায় রয়েছে , যেমন ইতিমধ্যে উল্লিখিত অন্যান্য উত্তরগুলি:
git reset HEAD <file>
এবং
git rm --cached <file>
তবে পার্থক্য কী?
ধরুন ফাইলটি মঞ্চস্থ হয়েছে এবং কার্যক্ষম ডিরেক্টরিতেও বিদ্যমান রয়েছে , git rm --cached <file>
আপনি যদি স্টেজিং ডিরেক্টরি থেকে এটি সরিয়ে রাখতে চান এবং ফাইলটি কার্যক্ষম ডিরেক্টরিতে রাখতে চান তবে ব্যবহার করুন । কিন্তু লক্ষ্য করা যে এই অপারেশন শুধুমাত্র ফাইল থেকে মুছে ফেলা হবে না পরীক্ষামূলক ডিরেক্টরি হিসাবেই নয় চিহ্নিত ফাইল deleted
মধ্যে ডিরেক্টরি নাটক মঞ্চস্থ , যদি আপনি ব্যবহার
git status
এই অপারেশনের পরে, আপনি এটি দেখতে পাবেন:
deleted: <file>
এটি স্টেজিং ডিরেক্টরি থেকে ফাইল সরানোর রেকর্ড । আপনি যদি এই রেকর্ডটি রাখতে না চান এবং কেবল কোনও ফাইলের পূর্ববর্তী পর্যায়ে অপারেশনটি পূর্বাবস্থায় ফিরিয়ে নিতে চান তবে git reset HEAD <file>
পরিবর্তে ব্যবহার করুন।
-------- উত্তর শেষ --------
PS: আমি উল্লেখ করা কিছু উত্তর লক্ষ্য করেছি:
git checkout -- <file>
ফাইলটি মঞ্চস্থ হওয়ার পরে এই কমান্ডটি পরিস্থিতিটির জন্য রয়েছে , তবে মঞ্চস্থ হওয়ার পরে ফাইলটি ওয়ার্কিং ডিরেক্টরিতে পরিবর্তন করা হয়েছে , স্টেজিং ডিরেক্টরি থেকে ফাইলটিকে কার্যক্ষম ডিরেক্টরিতে পুনরুদ্ধার করতে এই অপারেশনটি ব্যবহার করুন । অন্য কথায়, এই অপারেশনের পরে, পরিবর্তনগুলি আপনার কার্যনির্বাহী ডিরেক্টরিতে ঘটে , আপনার মঞ্চ ডিরেক্টরিতে নয় ।