মার্জ হওয়ার পরে শাখা দিয়ে কী করবেন


342

আমার দুটি শাখা ছিল: masterএবং branch1। আমি শুধু মার্জ branch1ফিরে masterএবং আমি যে শাখা সাথে কাজ করছি। আমি কি এটি মুছতে পারি বা কেবল এটিকে বসতে দেব? এটি মুছে ফেলা কি কোনও ক্ষতির কারণ হবে?


উত্তর:


410

মার্জ হওয়ার পরে, শাখাটি মুছে ফেলা নিরাপদ:

git branch -d branch1

অতিরিক্তভাবে, গিট আপনাকে সতর্ক করবে (এবং শাখাটি মুছতে অস্বীকার করবে) যদি মনে হয় আপনি এখনও এটি পুরোপুরি একীভূত করেন নি। যদি আপনি git branch -Dদৃfully়তার সাথে কোনও শাখা মুছে ফেলেন (যার সাথে ) এখনও পুরোপুরি একত্রিত করা হয়নি, তবে নিমজ্জনিত কমিটগুলি ফিরে পাওয়ার জন্য আপনাকে কিছু কৌশল করতে হবে (নীচে দেখুন)।

যদিও এর চারদিকে একটি শাখা রাখার কিছু কারণ রয়েছে। উদাহরণস্বরূপ, এটি যদি কোনও বৈশিষ্ট্য শাখা হয় তবে আপনি সেই শাখার ভিতরে এখনও সেই বৈশিষ্ট্যটিতে বাগফিক্স করতে সক্ষম হতে পারেন।

আপনি যদি রিমোট হোস্টে শাখাটি মুছতে চান তবে আপনি এটি করতে পারেন:

git push origin :branch1

এটি দৃfully়তার সাথে রিমোটের শাখাটি মুছে ফেলবে (এটি ইতিমধ্যে চেক-আউট করা সংগ্রহস্থলগুলিকে প্রভাবিত করবে না এবং এটি পুনরায় ধাক্কা / তৈরি করতে পুশ অ্যাক্সেস সহ কাউকে আটকাবে না))


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


আপনি যদি শাখাটি সংরক্ষণ করতে চান তবে আপনি এটি মুছে ফেলার আগে একটি ট্যাগ তৈরি করতে পারেন। আপনি যদি সেই বিন্দুতে ফিরে যেতে চান তবে আপনি সেই ট্যাগটি চেকআউট করতে পারেন।
জাকস

3
@ জোকুস আমি বরং এটিকে শাখা হিসাবে রাখার পরামর্শ দিই। শুধু এটি প্রকাশ করবেন না।
জোনাস শোফার

কেবলমাত্র যদি - আপনি যদি শাখাটি মুছে ফেলার আগে "সম্পূর্ণ একত্রীকরণ" করতে চান, কেবল মার্জ করার পরে সেই শাখাটি টিপুন, তবে মোছার আগে। এর মতো কিছুgit checkout master && git merge branch1 && git push origin branch1 && git branch -d branch1
এভোমাটোন

25

আমি মুছে ফেলার পরিবর্তে পুনরায় নামকরণ পছন্দ করি

আমার সমস্ত শাখার আকারে নামকরণ করা হয়েছে

  • Fix/fix-<somedescription> অথবা
  • Ftr/ftr-<somedescription> অথবা
  • প্রভৃতি

আমার Git সামনে শেষ হিসাবে টাওয়ার ব্যবহার করে এটা সুন্দরভাবে সব আয়োজন Ftr/, Fix/, Test/ফোল্ডার মধ্যে ইত্যাদি।
একবার আমি একটি শাখা দিয়ে কাজ শেষ করে নিলে আমি তাদের নতুন নামকরণ করি Done/...-<description>

সেভাবে তারা এখনও সেখানে রয়েছে (যা ইতিহাস সরবরাহে কার্যকর হতে পারে) এবং আমি এটি সর্বদা (ফিচার, ফিক্স, পরীক্ষা ইত্যাদি) জেনে ফিরে যেতে পারি)


4
আপনি কি দূরবর্তী শাখাগুলির নাম পরিবর্তন করেন?
ভিটালিবি

21
এটি বর্তমানে এমন অপ্রয়োজনীয় বলে মনে হয় রাখা এই শাখা, এবং উন্মাদ নামান্তর তাদের। আমি কি এখানে কিছু মিস করছি? আপনি সর্বদা শাখাটি পুনরায় তৈরি করতে পারেন। stackoverflow.com/questions/3640764/...
ksav

শাখাগুলি একীভূত হওয়ার পরে তা রাখার কোনও মানে নেই
রাস্তামান

2
ফিক্স, টেস্ট এবং ডোন পুনরায় নামকরণ করার জন্য আইডিয়াটির জন্য +1 ... শাখা রাখা হ'ল ঠিকাদাররা কীভাবে আমার সংস্থায় অর্থ পাবে।
jpfreire

1

আপনি যদি এগিয়ে যান এবং মার্জ করার পরে শাখাটি মুছে ফেলুন।
শুধু যত্ন নিতে
আপনার মোছা শাখা সকল হাইপারলিঙ্ক URL গুলি উল্লেখ করা হবে না ভাঙা

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