git - গিট ট্র্যাকিং থেকে একটি ফোল্ডার সরান




git-rm (4)

"জিটি ট্র্যাকিং থেকে ফোল্ডার মুছে ফেলার" জন্য গুগলিংয়ের সময় আমি এই প্রশ্নটি জুড়েছি। ওপি এর প্রশ্নের উত্তর আমাকে নেতৃত্ব। আমি ভবিষ্যতে প্রজন্মের জন্য এখানে সংক্ষিপ্তভাবে করছি।

প্রশ্ন

আমি কিভাবে আমার স্থানীয় মেশিন (অর্থাৎ ডেভেলপমেন্ট এনভায়রনমেন্ট) থেকে মুছে ফেলার সাথে সাথে আমার গিট রিপোজিটরি থেকে একটি ফোল্ডার মুছে ফেলব?

উত্তর

ধাপ 1. আপনার রেপোর রুট ফোল্ডার ফোল্ডার যোগ করুন। .gitignore ফাইল।

path_to_your_folder/

পদক্ষেপ 2. আপনার স্থানীয় গিট ট্র্যাকিং থেকে ফোল্ডারটি সরান, তবে আপনার ডিস্কে এটি রাখুন।

git rm -r --cached path_to_your_folder/

পদক্ষেপ 3. আপনার গিট রেপোতে আপনার পরিবর্তনগুলি চাপুন।

ফোল্ডারটিকে গিট এর দৃষ্টিকোণ থেকে "মুছে ফেলা" বলে বিবেচনা করা হবে (অর্থাত্ তারা অতীতের ইতিহাসে রয়েছে, তবে সর্বশেষ কমিটিতে নয়, এবং এই রেপো থেকে লোকেদের ফাইলগুলি তাদের গাছ থেকে সরিয়ে দেওয়া হবে), তবে আপনার ওয়ার্কিং ডিরেক্টরিতে থাকুন কারণ আপনি - --cached ব্যবহার --cached

https://code.i-harness.com

আমি ট্র্যাকিং থেকে একটি ফোল্ডার (নাম আপলোড) বাদ দিতে হবে। আমি চালানোর চেষ্টা করেছি

git rm -r --cached wordpress/wp-content/uploads

এবং তারপরে আমি .gitignore পথ যোগ করা

/wordpress/wp-content/uploads

কিন্তু আমি git status দৌড়ে যখন তারা মুছে ফেলা হিসাবে প্রদর্শন। যদি আমি পরিবর্তনগুলি করার চেষ্টা করি, তবে ফাইলগুলি মুছে ফেলা হবে, ট্র্যাকিং থেকে কেবল সরানো হবে না।

আমি কি ভুল করছি?

আমি চেষ্টা করেছি

git update-index --assume-unchanged <file>

কিন্তু এই শুধুমাত্র অট্যাক্ট ফাইল মনে হয়। কিন্তু ট্র্যাকিং থেকে আমি একটি সম্পূর্ণ ফোল্ডার (সাবফোল্ডারদের সহ) অপসারণ করতে হবে।


আমি জানি এটি একটি পুরাতন থ্রেড কিন্তু আমি কেবল অল্প সংযোজন করতে চেয়েছিলাম কারণ চিহ্নিত সমাধানটি আমার জন্য সমস্যাটির সমাধান করেনি (যদিও আমি অনেকবার চেষ্টা করেছি)।

ফোল্ডারটি ট্র্যাক করার জন্য আমি আসলেই জিট ফর্মটি বন্ধ করতে পারতাম একমাত্র উপায়:

  1. স্থানীয় ফোল্ডার ব্যাকআপ করুন এবং একটি নিরাপদ স্থানে রাখুন।
  2. আপনার স্থানীয় repo থেকে ফোল্ডার মুছে দিন
  3. নিশ্চিত করুন git rm -r --cached your_folder/ সাফ করা হয়েছে git rm -r --cached your_folder/
  4. your_folder/ যোগ করুন
  5. কমিট পরিবর্তন
  6. ব্যাকআপ আপনার repo মধ্যে ফিরে যোগ করুন

এখন ফোল্ডারটি আর ট্র্যাক করা হবে না তা আপনি দেখুন।

কেন ক্যাশে সাফ করা আমার জন্য কাজ করে না কেন আমাকে জিজ্ঞাসা করবেন না, আমি একটি গিট সুপার উইজার্ড নই তবে এভাবেই আমি এই সমস্যাটি সমাধান করেছি।


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

আরেকটি দরকারী জিনিস যা আপনি করতে চান তা হল ফাইলটিকে আপনার কাজের গাছের মধ্যে রাখা তবে আপনার স্টেজিং এলাকা থেকে এটি সরান। অন্য কথায়, আপনি আপনার হার্ড ড্রাইভে ফাইলটি রাখতে চাইতে পারেন তবে Git কে এটি আর ট্র্যাক করবেন না। এটি বিশেষত দরকারী, যদি আপনি আপনার। জিটিগনোর ফাইলটিতে কিছু যোগ করতে ভুলে যান এবং দুর্ঘটনাক্রমে এটি একটি বড় লগ ফাইল বা .a সংকলিত ফাইলগুলির গুচ্ছের মতো এটি পরিচালনা করে। এটি করার জন্য, --cached বিকল্পটি ব্যবহার করুন:

$ git rm --cached readme.txt

তাই সম্ভবত "-আর" অন্তর্ভুক্ত করবেন না?


ডিরেক্টরি ভুলে যাওয়ার জন্য বার বার /*/* যোগ করুন:

git update-index --assume-unchanged wordpress/wp-content/uploads/*/*

git rm --cached ব্যবহার করে - git rm --cached সহযোগিতার জন্য ভাল নয়। আরো বিস্তারিত এখানে: ট্র্যাক বন্ধ কিভাবে এবং গিট একটি ফাইল পরিবর্তন উপেক্ষা?






git-rm