উপস্থাপিত তথ্যের git help fetchমধ্যে এই ছোট্ট আইটেমটি রয়েছে:
-p, --prune
After fetching, remove any remote-tracking branches which no longer exist on the remote.
সুতরাং, সম্ভবত, git fetch -pআপনি কি খুঁজছেন?
সম্পাদনা: ঠিক আছে, 3 বছর পরে এখনও এই উত্তর নিয়ে যারা বিতর্ক করছেন তাদের জন্য, কেন আমি এই উত্তরটি উপস্থাপন করেছি সে সম্পর্কে এখানে আরও কিছু তথ্য ...
প্রথমত, ওপি বলেছে যে তারা "সেই দূরবর্তী শাখাগুলি [যে দূরবর্তী অঞ্চলে আর নেই) থেকে যে স্থানীয় শাখা তৈরি হয়েছিল সেগুলিও মুছে ফেলতে চায়"। এটি অস্পষ্টভাবে সম্ভব নয় git। এখানে একটি উদাহরণ।
ধরা যাক আমার একটি কেন্দ্রীয় সার্ভারে একটি রেপো আছে এবং এর দুটি শাখা রয়েছে, নামক Aএবং B। যদি আমি সেই রেপোটিকে আমার স্থানীয় সিস্টেমে ক্লোন করি তবে আমার ক্লোনটিতে স্থানীয় রেফ থাকবে (এখনও প্রকৃত শাখা নয়) কল origin/Aএবং origin/B। এখন বলা যাক আমি নিম্নলিখিতগুলি করি:
git checkout -b A origin/A
git checkout -b Z origin/B
git checkout -b C <some hash>
এখানে প্রাসঙ্গিক তথ্যগুলি হ'ল আমি কোনও কারণে আমার স্থানীয় রেপোতে একটি শাখা তৈরি করা বেছে নিয়েছিলাম যার উত্সের চেয়ে আলাদা নাম রয়েছে এবং আমার একটি স্থানীয় শাখাও রয়েছে যা মূল তলবিক রেপোতে (এখনও) বিদ্যমান নেই।
এখন বলা যাক যে আমি দূরবর্তী রেপোতে উভয় শাখা Aএবং Bশাখা সরিয়ে নিয়েছি এবং আমার স্থানীয় রেপো ( git fetchকিছু রূপের) আপডেট করি যা আমার স্থানীয় রেফগুলি origin/Aএবং origin/Bঅদৃশ্য হয়ে যায়। এখন, আমার স্থানীয় রেপো তিনটি শাখা এখনো রয়েছে A, Zএবং C। এগুলির কোনওটিরই দূরবর্তী রেপোতে সংশ্লিষ্ট শাখা নেই। তাদের মধ্যে দুটি "... দূরবর্তী শাখা থেকে তৈরি করা হয়েছিল", তবে আমি যদি জানি যে Bউত্সর নামে ডাকা একটি শাখা ব্যবহৃত হত তবে আমার জানার কোনও উপায় নেই যে Zএটি তৈরি করা হয়েছিলB, কারণ এটি প্রক্রিয়াটির নামকরণ করা হয়েছিল, সম্ভবত কোনও ভাল কারণে। সুতরাং, প্রকৃতপক্ষে, কোনও বাহ্যিক প্রক্রিয়া রেকর্ডিং শাখার উত্স মেটাডেটা বা ইতিহাসের জানা মানুষ ছাড়া, তিনটি শাখার মধ্যে কোনটি অপসারণের জন্য লক্ষ্য করে চলেছে তা জানা অসম্ভব। কিছু বাহ্যিক তথ্য gitনা থাকলে যা স্বয়ংক্রিয়ভাবে আপনার জন্য রক্ষা না করে, আপনি git fetch -pযেমন পেতে পারেন ততই কাছাকাছি, এবং ওপি যা জিজ্ঞাসা করেছিল তা আক্ষরিক অর্থে চেষ্টা করার জন্য যে কোনও স্বয়ংক্রিয় পদ্ধতিতে অনেকগুলি শাখা মুছে ফেলার ঝুঁকি রয়েছে, নাহলে ওপি অন্যথায় কিছু হারিয়ে ফেলবে some মুছে ফেলতে চান
অন্যান্য পরিস্থিতিতেও রয়েছে, যেমন আমি যদি কোনও কিছুর প্রতি তিনটি পৃথক origin/Aপদ্ধতির পরীক্ষা করার জন্য তিনটি পৃথক শাখা তৈরি করি এবং তারপর origin/Aচলে যাই। এখন আমার তিনটি শাখা রয়েছে, যা স্পষ্টতই নাম অনুসারে সমস্ত মিল করতে পারে না, তবে সেগুলি তৈরি করা হয়েছিল origin/A, এবং তাই ওপিএস প্রশ্নের আক্ষরিক ব্যাখ্যার জন্য তিনটিই অপসারণ করা দরকার। যাইহোক, এটি পছন্দসই হতে পারে না, যদি আপনি এমনকি তাদের সাথে মেলে একটি নির্ভরযোগ্য উপায়ও খুঁজে পেতে পারেন ...