যখন আমি করি git fetch origin
এবং উত্সটির একটি মুছে ফেলা শাখা থাকে, মনে হয় এটি আমার সংগ্রহস্থলে আপডেট হয় না। আমি যখন git branch -r
এটি এখনও দেখায় origin/DELETED_BRANCH
।
আমি এটা কিভাবে ঠিক করবো?
যখন আমি করি git fetch origin
এবং উত্সটির একটি মুছে ফেলা শাখা থাকে, মনে হয় এটি আমার সংগ্রহস্থলে আপডেট হয় না। আমি যখন git branch -r
এটি এখনও দেখায় origin/DELETED_BRANCH
।
আমি এটা কিভাবে ঠিক করবো?
উত্তর:
আপনাকে নিম্নলিখিতগুলি করা দরকার
git fetch -p
এটি দূরবর্তী শাখাগুলির স্থানীয় ডাটাবেস আপডেট করবে।
origin
কাঁটাচামচের অস্তিত্বহীন দূরবর্তী শাখার জন্য করেছে : git fetch -p origin
আমি তখন যখন git branch -r
অস্তিত্বহীন দূরবর্তী শাখাটি আর দেখায় না।
git remote prune origin
এবং সমান হতে হবে । git pull --prune
[deleted] (none) -> origin/ < branch name >
এবং শাখাটি এখনও স্থানীয় রেপোতে দেখানো হয়েছে কেন কোনও ধারণা?
git branch
এখনও চলছে এমন শাখাগুলি দেখায় যা অনুমিতভাবে মুছে ফেলা হয়েছিল।
Http://www.gitguys.com/topics/adding-and-removing-remote-branches/ থেকে
কেউ রিমোট রিপোজিটরি থেকে একটি শাখা মুছে ফেলার পরে, যখন ব্যবহারকারী কোনও গিট টান বা গিট আনতে পারে তখন গিটটি স্বয়ংক্রিয়ভাবে স্থানীয় সংগ্রহস্থলগুলি মুছবে না। তবে, ব্যবহারকারী যদি দূরবর্তী সংগ্রহস্থলে মুছে ফেলা সমস্ত স্থানীয় ট্র্যাকিং শাখা তাদের স্থানীয় সংগ্রহশালা থেকে মুছে ফেলাতে চান তবে তারা টাইপ করতে পারেন:
গিট রিমোট ছাঁটাই উত্স
একটি নোট হিসাবে, -p পরম থেকে আসল git fetch -p
অর্থ "ছাঁটাই"।
আপনি যেভাবেই চয়ন করেছেন, অ-বিদ্যমান রিমোট শাখাগুলি আপনার স্থানীয় সংগ্রহশালা থেকে মুছে ফেলা হবে।
আপনাকে নিম্নলিখিতগুলি করা দরকার
git fetch -p
আপনার শাখার তালিকাটি সিঙ্ক্রোনাইজ করার জন্য। Git ম্যানুয়াল বলেছেন
-p
,--prune
আনার পরে, রিমোটে থাকা কোনও রিমোট-ট্র্যাকিং রেফারেন্স সরিয়ে ফেলুন। ট্যাগগুলি কেবল ছাঁটাইয়ের বিষয় নয় যদি সেগুলি কেবলমাত্র ডিফল্ট ট্যাগ স্বতঃ-অনুসরণ বা কোনও--tags
বিকল্পের কারণে আনা হয় । তবে, যদি কোনও স্পষ্ট রেফস্পেকের কারণে ট্যাগগুলি আনা হয় (কমান্ড লাইনে বা রিমোট কনফিগারেশনে উদাহরণস্বরূপ, যদি দূরবর্তীটি--mirror
বিকল্পটি দিয়ে ক্লোন করা হত ), তবে সেগুলিও ছাঁটাইয়ের বিষয়।
আমি ব্যক্তিগতভাবে ব্যবহার করতে চাই git fetch origin -p --progress
কারণ এটি একটি অগ্রগতি সূচক দেখায়।
সম্পর্কিত git fetch -p
, এর আচরণটি গিট 1.9-এ পরিবর্তিত হয়েছে এবং কেবল গিট 2.9.x / 2.10 এর প্রতিফলন ঘটায়।
দেখুন কমিট 9e70233 দ্বারা (13 জুন 2016) জেফ কিং ( peff
) ।
(দ্বারা একীভূত junio সি Hamano - gitster
- মধ্যে কমিট 1c22105 , 06 জুলাই 2016)
fetch
: দস্তাবেজ যে আনার আগে ছাঁটাই হয়এটি 10a6cc8 এ পরিবর্তন করা হয়েছিল (
fetch --prune
: আনার আগে ছাঁটাই চালান, 2014-01-02) তবে মনে হয় যে আলোচনার কেউ বুঝতে পারেনি আমরা স্পষ্টভাবে "পরে" বিজ্ঞাপন দিচ্ছি ।
সুতরাং নথিতে এখন বলা হয়েছে:
আনার আগে , রিমোটে থাকা কোনও রিমোট-ট্র্যাকিং রেফারেন্স সরান
এই কারণে:
যখন আমাদের
frotz/nitfol
আগের ফিঞ্চ থেকে " " নামক একটি রিমোট ট্র্যাকিং শাখা রয়েছে এবং এখন প্রবাহের "frotz
" নামক একটি শাখা রয়েছে , আনতে "frotz/nitfol
" "দিয়ে"git fetch --prune
"আপস্ট্রিম থেকে অপসারণ করতে ব্যর্থ হবে । গিটgit remote prune
সমস্যাটি সমাধানের জন্য ব্যবহারকারীকে " " ব্যবহার করতে জানায় ।
fetch --prune
আনার ক্রিয়াকলাপের আগে ছাঁটাই অপারেশন সরিয়ে " " কাজ করার উপায়টি পরিবর্তন করুন। এইভাবে, কোনও বিরোধকে ব্যবহারকারীকে সতর্ক করার পরিবর্তে এটি স্বয়ংক্রিয়ভাবে এটিকে ঠিক করে দেয়।