কিভাবে স্থানীয়ভাবে একটি শাখা অপসারণ?


159

আমার সংগ্রহশালায় আমার একটি মাস্টার এবং একটি দেব শাখা রয়েছে। আমি আমার কম্পিউটার থেকে মাস্টার শাখাটি সরাতে চাই যাতে আমি দুর্ঘটনাক্রমে এটিতে প্রতিশ্রুতি না রাখি (এটি ঘটেছে ..)।

স্থানীয়ভাবে এবং দূরবর্তীভাবে কীভাবে শাখাগুলি মুছবেন সে সম্পর্কে এখানে প্রশ্ন রয়েছে তবে স্থানীয়ভাবে কেবল একটি শাখা কীভাবে মুছবেন তা আমি সন্ধান করতে সক্ষম হইনি।

একটি উত্তর এটি ব্যবহার করতে বলেছে:

git branch -d local_branch_name

তবে আমি এটি চেষ্টা করেছি এবং শাখাটি এখনও গিটহাব অ্যাপ্লিকেশনটিতে প্রদর্শিত হবে।


কমান্ড থেকে আউটপুট কি? আপনি কোন শাখায় আছেন? এটি কনসোলে প্রদর্শিত হচ্ছে কীভাবে?
এসএলএক্স

@ এসএলাক্স আমার প্রশ্নের একটি টাইপ ছিল। কনসোলে এটি আসলে শাখাটি মুছে ফেলা হয়েছে বলে জানিয়েছে, তবে গিটহাব অ্যাপ্লিকেশনটিতে (এটি পুনরায় চালু করার পরেও) শাখা এবং প্রতিশ্রুতি এখনও দৃশ্যমান। আউটপুটটি হলDeleted branch master (was e8a8e29).
নট

উইন্ডোজের জন্য গিটহাব দূরবর্তী শাখাগুলিও দেখায়
স্ল্যাक्स

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

উত্তর:


114

আমি (আপনার মন্তব্য উপর ভিত্তি করে) আমি বুঝি যে আপনি কি করতে চান মনে: আপনি সংগ্রহস্থলের আপনার স্থানীয় অনুলিপি তন্ন তন্ন সাধারণ স্থানীয় শাখা করতে চান master, কিংবা দূরবর্তী-ট্র্যাকিং শাখা origin/master, এমনকি সংগ্রহস্থলের যদিও আপনি ক্লোন-GitHub এক এমন একটি স্থানীয় শাখা masterযা আপনি গিথুব সংস্করণ থেকে মুছতে চান না

আপনি স্থানীয়ভাবে রিমোট-ট্র্যাকিং শাখাটি মুছে ফেলাতে এটি করতে পারেন তবে আপনি যখনই নিজের গিটকে স্থানীয় স্থানীয় সংগ্রহস্থলটি রিমোট রিপোজিটরির সাথে সুসংগত করতে বলবেন তখনই এটি ফিরে আসবে, কারণ আপনার গিট তাদের গিটকে "আপনার কী শাখাগুলি আছে" জিজ্ঞাসা করে এবং এটি "আমার আছে master" বলেছে যাতে আপনার গিট (পুনরায়) আপনার origin/masterজন্য তৈরি করে , যাতে আপনার ভান্ডারটিতে যা আছে।

কমান্ড লাইন ইন্টারফেস ব্যবহার করে স্থানীয়ভাবে আপনার রিমোট-ট্র্যাকিং শাখা মুছতে:

git branch -d -r origin/master

তবে আবার এটি পুনরায় সিঙ্ক্রোনাইজেশনে ফিরে আসবে। এটা তোলে হয় এই (ব্যবহার পাশাপাশি পরাজিত করা সম্ভব remote.origin.fetchম্যানিপুলেশন), কিন্তু আপনি সম্ভবত ভাল বন্ধ শুধু যথেষ্ট নয় তৈরি বা সংশোধন করার শৃঙ্খলাবদ্ধ হচ্ছে masterস্থানীয়ভাবে।



99

স্থানীয় শাখা মুছে ফেলতে বাধ্য করুন:

$ git branch -D <branch_name>

[ দ্রষ্টব্য ]:

"-D" বিকল্পটি মুছে ফেলার বিকল্প।



6
যদি আমি কোনও স্থানীয় শাখা মুছে ফেলি যা একটি প্রবাহ সেট আছে এবং তারপরে একটি সাধারণ ধাক্কা দিলে এটি দূরবর্তী শাখাটি ডিলিট করে না?
কফি দ্বারা জ্বালানী


17

যতদূর আমি মূল সমস্যাটি বুঝতে পারি, আপনি স্থানীয় মাস্টারকে ভুল করে প্রতিশ্রুতিবদ্ধ করেছিলেন এবং এখনও সেই পরিবর্তনগুলি ঠেকেননি। এখন আপনি আপনার পরিবর্তনগুলি বাতিল করতে চান এবং আপনার স্থানীয় পরিবর্তনগুলি মুছতে এবং দূরবর্তী থেকে একটি নতুন মাস্টার শাখা তৈরি করতে আশা করছেন।

আপনি কেবল নিজের পরিবর্তনগুলি পুনরায় সেট করতে এবং রিমোট সার্ভার থেকে মাস্টার পুনরায় লোড করতে পারেন:

git reset --hard origin/master

13

উইন্ডোজের জন্য গিথুব অ্যাপ্লিকেশনটি কোনও সংগ্রহস্থলের সমস্ত দূরবর্তী শাখা দেখায়। আপনি যদি স্থানীয়ভাবে এই শাখাটি মুছে ফেলে থাকেন $ git branch -d [branch_name]তবে রিমোট শাখাটি এখনও আপনার গিথুব সংগ্রহস্থলে উপস্থিত রয়েছে এবং উইন্ডোজ গিথুব অ্যাপ্লিকেশনটিতে নির্বিশেষে উপস্থিত হবে।

আপনি যদি ব্রাঞ্চটি পুরোপুরি মুছে ফেলতে চান (দূরবর্তীভাবে পাশাপাশি), তবে উপরের কমান্ডটি ব্যবহার করে ব্যবহার করুন $ git push origin :[name_of_your_new_branch]সতর্কতা: এই কমান্ডটি বিদ্যমান সমস্ত শাখা মুছে ফেলে এবং কোড নষ্ট হতে পারে। সাবধানতা অবলম্বন করুন, আপনি যা করার চেষ্টা করছেন তা আমি মনে করি না।

তবে আপনি যখনই স্থানীয় শাখার পরিবর্তনগুলি মুছবেন ততবারই দূরবর্তী শাখাটি অ্যাপ্লিকেশনে উপস্থিত হবে। আপনি যদি পরিবর্তনগুলি চালিয়ে যেতে না চান, কেবল এটিকে এড়িয়ে যান এবং ক্লিক করবেন না, অন্যথায় আপনি সংগ্রহস্থলটিকে ক্লোন করতে পারেন। আপনার যদি আরও কোনও প্রশ্ন থাকে তবে দয়া করে আমাকে জানান।


1

আপনার অন্য একটি শাখায় স্যুইচ করা দরকার এবং একই চেষ্টা করুন।

গিট শাখা -d


1
এটি কি উত্তর বলে মনে হচ্ছে? বা একটি স্পষ্টকরণের প্রশ্ন? নাকি একটি সরল প্রশ্ন? এটি এত সংক্ষেপে আমি বলতে পারি না। আপনি বিস্তারিত বলতে চান?
Yunnosch

0

আপনার ট্যাগ দ্বারা, আমি আপনার গিথুব ব্যবহার অনুমান করছি। আপনার মাস্টার শাখার জন্য কিছু শাখা সুরক্ষা বিধি তৈরি করবেন না কেন? আপনি যদি মাস্টারকে চাপ দেওয়ার চেষ্টা করেন তবে এটি এটিকে প্রত্যাখ্যান করবে।

1) গিথুবে আপনার রেপোর 'সেটিংস' ট্যাবে যান।

2) বাম দিকের মেনুতে 'শাখা' ক্লিক করুন।

3) 'বিধি যুক্ত করুন' ক্লিক করুন

4) একটি শাখা প্যাটার্ন জন্য 'মাস্টার' লিখুন।

৫) 'মার্জ হওয়ার আগে টানুন অনুরোধের পর্যালোচনাগুলি প্রয়োজনীয়'

আমি আপনার দেব শাখার জন্যও এটি করার সুপারিশ করব।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.