আমি কীভাবে স্বতঃপূরণ থেকে মুছে ফেলা শাখার নামগুলি সরিয়ে ফেলব?


120

আমি git branch -d myBranchএকটি শাখা মুছে ফেলতাম। যাইহোক, যখন আমি মাস্টার আছি এবং সঙ্গে একটি নতুন শাখা চেকআউট চেষ্টা git checkout, myBranchএখনও ট্যাব-স্বয়ংসম্পূর্ণ উপস্থিত হয়।

আমি কীভাবে myBranchট্যাব-স্বপূরণ থেকে নামটি সরিয়ে দেব git checkout?


10
কি git branch -aএখনও তালিকা পারেন myBranchবা origin/myBranch? উল্লেখ্য, এমনকি যদি myBranchবিদ্যমান নয়, git checkout myBranchএখনও জন্য একটি বৈধ শর্টকাট git checkout -b myBranch origin/myBranchযদি origin/myBranchবিদ্যমান।
twalberg

2
উত্তর হিসাবে পোস্ট করার জন্য @ টালবার্গ মূল্যবান
cmbuckley

উত্তর:


81

এর একটি সম্ভাব্য কারণ হ'ল, যদি কোনও প্রত্যন্ত শাখা (উদাঃ origin/myBranch) এখনও বিদ্যমান থাকে তবে git checkout myBranchতার বিকল্প হিসাবে এটি সফল হবে git checkout -b myBranch origin/myBranch। এটি প্রথমবারের মতো একটি দূরবর্তী শাখাটি চেকআউট করার সাধারণ ক্ষেত্রে সুবিধার্থ হিসাবে লক্ষ্যযুক্ত, একটি অভিন্ন নামযুক্ত স্থানীয় ট্র্যাকিং শাখা তৈরি করে।

আপনি সমাপ্তির জন্য ঠিক কী ব্যবহার করছেন তার উপর নির্ভর করে অন্যান্য সম্ভাবনাও রয়েছে তবে আমি যা যা প্রথম পরীক্ষা করেছি তা এটি। আপনি যদি চালনা করেন git branch -aএবং সেখানে একটি origin/myBranchতালিকাভুক্ত (বা অন্য কোনও রিমোটের জন্য রয়েছে origin, যদি আপনার এমন থাকে) তবে সম্ভবত এটিই সম্ভবত অপরাধী।


2
ধন্যবাদ! সেটাই অপরাধী বলে মনে হচ্ছে। origin/myBranchএখনও বিদ্যমান. আমি যদি myBranchগিথুবে (অনলাইন ইন্টারফেসের মাধ্যমে) শাখাটি মুছে ফেলেছি , তবে কি আমার কাছে git branch -d origin/myBranchসেই দূরবর্তী শাখাটি সরিয়ে ফেলার জন্য ফোন করা নিরাপদ ?
জন হফম্যান

99
@ জনহফম্যান এটি নিরাপদ হওয়া উচিত, তবে আমি মনে করি এর থেকে আরও ভাল উপায় হবে git fetch --prune origin। এটি সমস্ত স্থানীয় ট্র্যাকিং শাখাগুলি পরিষ্কার করবে যা দূরবর্তী অঞ্চলে আর নেই।
twalberg

3
@ ট্যুটবার্গ আমি বিশ্বাস করি না যে কেবল স্থানীয় এবং দূরবর্তী শাখা মুছে ফেলা স্বয়ংক্রিয়রূপে পুরানো সমস্ত শাখা থেকে মুক্তি পেতে যথেষ্ট। আমি বিশ্বাস করি যে স্বয়ংক্রিয়রূপে দূরে যাওয়ার জন্য আপনাকে প্রত্যন্ত শাখাগুলির স্থানীয় রেফারেন্সগুলির প্রয়োজনgit fetch --prune origin । মন্তব্য থেকে উত্তরে সরিয়ে নেওয়া ভাল হতে পারে। যে কোনও ক্ষেত্রে আপনার প্রতিক্রিয়ার জন্য ধন্যবাদ যেমন এটি আমাকে সহায়তা করেছিল!
টিমমিল

4
git branch -aআমাকে সঠিক পথে নিয়ে গেছে; আমার সহকর্মী git fetch --prune --allসমস্ত রিমোটগুলি থেকে সমস্ত মৃত শাখাগুলি ছাঁটাই করার পরামর্শ দিয়েছিলেন , যা প্রচুর কাঁটাচামচ দিয়ে প্রচুর ডেভসের সাথে কাজ করার সময় দরকারী।
এরিকোসো

173

git fetch --prune --all

এটি এক-লাইন ফিক্স হওয়ার কারণে এটির নিজের উত্তর হিসাবে পোস্ট করা, তবে আপনি যদি ভোট দেন তবে উপরে @ টিওয়ালবার্গের উত্তরের জন্য ভোট দিতে ভুলবেন না।

@ টওয়ালবার্গের পরামর্শ git branch -aআমাকে সঠিক পথে নিয়ে যাওয়ার জন্য; আমার সহকর্মী git fetch --prune --allসমস্ত রিমোটগুলি থেকে সমস্ত মৃত শাখাগুলি ছাঁটাই করার পরামর্শ দিয়েছিলেন , যা প্রচুর কাঁটাচামচ দিয়ে প্রচুর ডেভসের সাথে কাজ করার সময় দরকারী।


19
যদিও গ্রহণযোগ্য উত্তরটি কেন এমন হয় তার একটি দুর্দান্ত ব্যাখ্যা দেয়, এই উত্তরটি সমস্যার আসল সমাধান উপস্থাপন করে এবং তাই আইএমএইচও গ্রহণ করা উচিত।
প্যাট্রিক অসিটি

3
মৃত শাখাগুলির নামগুলি এখনও স্বয়ত্ত্বে সম্পূর্ণ দেখাচ্ছে।
ফিৎসুই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.