ফাইল সিস্টেম থেকে অপসারণ না করে সূচী (= স্টেজিং এরিয়া = ক্যাশে) থেকে কোনও ফাইল কীভাবে সরানো যায়?
ফাইল সিস্টেম থেকে অপসারণ না করে সূচী (= স্টেজিং এরিয়া = ক্যাশে) থেকে কোনও ফাইল কীভাবে সরানো যায়?
উত্তর:
তুমি চাও:
git rm --cached [file]
আপনি যদি --cachedবিকল্পটি বাদ দেন তবে এটি কার্যকারী গাছ থেকেও মুছে ফেলবে। git rmতুলনায় কিছুটা নিরাপদ git reset, কারণ মঞ্চস্থ সামগ্রী যদি শাখার ডগা বা ডিস্কের ফাইলের সাথে মেলে না তবে আপনাকে সতর্ক করা হবে। (যদি তা না হয় তবে আপনাকে যুক্ত করতে হবে --force))
git rm --cached, তাদের রেপো থেকে অপসারণ করার জন্য .gitignore, মঞ্চ প্রাসঙ্গিক ফাইল বা ডিরেক্টরি যোগ করতে পারেন এবং স্বাভাবিক হিসাবে কমিট। এগুলি রেপো থেকে চলে যাবে তবে তারা আপনার স্থানীয় গাছে ছোঁয়া থাকবে এবং আপনি দুর্ঘটনাক্রমে এগুলি আবার চেক করবেন না।
এটি আপনার জন্য একটি <ফাইল>> আনস্টেজ করা উচিত (ফাইল সরিয়ে বা অন্যথায় পরিবর্তন না করে):
git reset <file>
HEAD।
HEAD!
git reset HEAD <file>
সূচী থেকে একটি নির্দিষ্ট ফাইল সরানোর জন্য।
এবং
git reset HEAD
সমস্ত ইনডেক্সড ফাইল সরানোর জন্য।
আপনার কর্মপ্রবাহের উপর নির্ভর করে, এটি এমন ধরণের জিনিস হতে পারে যা আপনার খুব কমই প্রয়োজন যে কোনও কমান্ড-লাইন সমাধান বের করার চেষ্টা করার খুব কমই দরকার (যদি না আপনি কোনও কারণে গ্রাফিকাল ইন্টারফেস ছাড়া কাজ করছেন)।
কেবল জিইউআই-ভিত্তিক সরঞ্জামগুলি ব্যবহার করুন যা সূচক পরিচালনার পক্ষে সহায়তা করে, উদাহরণস্বরূপ:
git gui <- টি উইন্ডোং কাঠামো ব্যবহার করে - অনুরূপ স্টাইল to gitkgit cola <- আরও আধুনিক শৈলীর জিইউআই ইন্টারফেসএটি আপনাকে পয়েন্ট-ও-ক্লিক করে সূচিগুলির মধ্যে এবং বাইরে ফাইলগুলি সরিয়ে দেয়। এমনকি সূচীতে এবং থেকে কোনও ফাইলের পৃথক অংশ (পৃথক পরিবর্তন) নির্বাচন এবং সরানোর জন্য তাদের সমর্থন রয়েছে।
কীভাবে একটি ভিন্ন দৃষ্টিকোণ সম্পর্কে: আপনি প্রস্তাবিতগুলির পরিবর্তে ক্রিপ্টিক কমান্ডগুলির একটি ব্যবহার করার সময় যদি গোলযোগ করেন তবে:
git rm --cached [file]git reset HEAD <file>... আপনি ডেটা হারাতে - বা কমপক্ষে এটি সন্ধান করা শক্ত করে তোলার আসল সুযোগ দাঁড়িয়েছেন। আপনার যদি খুব উচ্চ ফ্রিকোয়েন্সি সহ সত্যিই এটি করার দরকার না হয় তবে জিইউআই সরঞ্জাম ব্যবহার করা নিরাপদ হওয়ার সম্ভাবনা রয়েছে ।
মন্তব্য এবং ভোটের ভিত্তিতে, আমি বুঝতে পেরেছি যে প্রচুর লোকেরা সর্বদা সূচক ব্যবহার করে। আমি না। এখানে কীভাবে:
git commit -agit commit (list of files)git commit -aতারপরে সংশোধন করুন করুনgit guigit difftool --dir-diff --tool=meldgit commit -a। যখন আমি এই প্রশ্নের উত্তর দিচ্ছিলাম, এটি কারণ আমি (একটি বহিরাগত) " বিপরীত চেরি পিক " করেছি যা আপনার জন্য সূচকগুলিতে ফাইল রাখে, তবে আমি প্রতিশ্রুতি দেওয়ার আগে একটি ফাইল সম্পাদনা করতে চেয়েছিলাম। আমি সম্পাদনা করার সময় ফাইলটি সূচকের বাইরে নিয়ে গিয়েছিলাম যাতে ডিফগুলি যেভাবে আমার অভ্যস্ত সেভাবে কাজ করবে।
rmসরাসরি ব্যবহার করা হবে তবে আমি প্রথমে ভেবেছিলাম শাখা স্যুইচ করা উপেক্ষা করা ফোল্ডারটিকে হত্যা করবে না । তবে ... আমি গিথুব "গুঁই ভিত্তিক" সরঞ্জামটি ব্যবহার করি যা আমার পক্ষে যথেষ্ট ভাল এবং এটি কোনও সমর্থন না করে কিছু সূচি পরিচালনার পক্ষে সমর্থন করে। তাহলে কী, আমি সরু ব্যবহারের জন্য 2 টি গুই ব্যবহার করব? এখনও উত্তরের সাথে একমত হতে পারে না।