গিট শাখা -d সতর্কতা দেয়


91

আমি স্থানীয় একটি শাখা মুছে ফেলার পরে কেবল সতর্কতা বার্তার আরও ভাল ধারণা পেতে চাই

সতর্কতা: 'old_branch'একত্রিত করা শাখাটি মুছে ফেলা হচ্ছে 'refs/remotes/origin/old_branch', তবে এখনও এতে একীভূত হয়নি HEAD


29
যদি আপনি নিজের পুরাতন_ব্র্যাঞ্চকে মার্জ করেন - স্থানীয়ভাবে মুছে ফেলার সময় আপনি এই সতর্কতাটি সর্বদা পাবেন। স্কোয়াশিংয়ের সময় আপনার সূচকটি পুনরায় সেট করা হয় তাই পুরানো_ব্রাঞ্চ এইএএডএডের সাথে মেলে না
এন্টোইন উইলস

অন্য উত্তরগুলি সঠিক হলেও অন্তত আমার ক্ষেত্রে এন্টোইনের মন্তব্যটি কারণ ছিল।
স্কুর্পপি

উত্তর:


66

এটি আপনাকে কেবলমাত্র সতর্ক করে দিচ্ছে যে আপনার শাখায় পরিবর্তনগুলি রয়েছে origin, তবে সেগুলিতে একীভূত হয় নি master, তাই আপনি কেবল এটি স্থানীয়ভাবে মুছে ফেলছেন।

এটি আপনাকে সতর্ক করে দিচ্ছে যে আপনার কাছে সেই শাখার স্থানীয় কপি নেই, তবে এটি বিদ্যমান origin

আপনি যদি দূরবর্তী শাখাটিও মুছতে চান তবে ব্যবহার করুন git push --delete origin old_branch


9
হ্যাঁ, এতে masterজড়িত নয়। আপনি বরং বর্তমান শাখাটি বোঝাচ্ছেন। ;)
ফার্নান্দো এস্পিনোসা

4
আমি এই সতর্কতাটি পেয়েছি এমনকি যদি আমি এমন কিছু করি git branch -d branch_nameযা কেবল স্থানীয়ভাবে শাখাটি মুছে ফেলা উচিত। এই ক্ষেত্রে কেন সতর্কতা দরকার?
অক্ষয় দামলে

4
তবে উত্স / ওল্ড ব্রাঞ্চকে উত্স / মাস্টারে একীভূত করা হয়েছে। পরে আমি মাস্টার শাখায় গিট টান উত্সব করেছি। এখনও একই ত্রুটি। এই বাগটি কি জিএইচ নয়?
বিক্রমভি

36

ধরে নিলাম আপনি বর্তমানে masterচেক আউট করেছেন, এর অর্থ এই যে পরিবর্তনগুলি old_branchএখানে উপস্থিত নেই master। যাইহোক, তারা হয় বর্তমান old_branchউপর origin


4
হ্যাঁ এটা সঠিক উত্তর! "তবে এখনও মার্জ করা হয়নি HEAD", HEADএখানে স্থানীয় মাস্টার ব্রাঞ্চের হেড উল্লেখ করা হয়েছে।
ডেভী

4
তবে উত্স / ওল্ড ব্রাঞ্চকে উত্স / মাস্টারে একীভূত করা হয়েছে। পরে আমি মাস্টার শাখায় গিট টান উত্সব করেছি। এখনও একই ত্রুটি। এই বাগটি কি জিএইচ নয়?
বিক্রমভি

4
@ ভিকরামভি ধরে নিই যে আপনি masterস্থানীয়ভাবে পরীক্ষা করে দেখেছেন, যদি কোনও কমিটের এসএইচএ পরিবর্তিত হয় তবে এটি এখনও ঘটতে পারে; অর্থাত আপনি রি-বেস origin/old_branchসম্মুখের origin/master। এমনকি যদি এটি দ্রুত অগ্রসর হয়, তবে এটি প্রতিটি নতুন প্রতিশ্রুতিবদ্ধতার জন্য একটি নতুন এসএইচএ তৈরি করবে origin/old_branchযার ফলে old_branchআপনার স্থানীয় masterশাখায় পরিবর্তনগুলি টেনে নেওয়ার পরে আপনার স্থানীয় আসল এসএইচিকে নিরবচ্ছিন্ন হিসাবে দেখা যাবে । আপনি কেন এই ঘটনাটি ঘটে তার জন্য এই উত্তর এবং এই উত্তরটি দেখতে পারেন ।

8

এর মানে হল আপনার স্থানীয় শাখা old_branchদূরবর্তী শাখা সঙ্গে আপ টু ডেট old_branchরিমোটের originকিন্তু এটা শাখা মিশে গিয়ে তৈরি করা হয় না master, যা রেপো প্রধান শাখা বলে মনে করা হয়।

এটি গিট থেকে কেবল একটি সতর্কতা। এটি আপনাকে একটি ইঙ্গিত দেয়: সম্ভবত আপনি টপিক-শাখায় আপনার কাজটি করেছেন এবং এটিকে মূল শাখায় একীভূত করতে ভুলে গেছেন?


হালনাগাদ

গিট আপনাকে আপনার পরিবর্তনগুলি হারাতে সতর্ক করে। উদাহরণস্বরূপ, আপনি আপনার না থাকে তাহলে old_branchমাস্টার Git তারপর অনুমতি দেয় না আপনি এমনকি ডিলিট শাখা যা মাস্টার আলাদা করা হয়েছে আছে (ভাল এটি অনুমোদন কিন্তু কী দিয়ে করতে -Dযা force-deleteবিকল্প)।


7
অগত্যা masterনয়, বর্তমান HEAD
হিমায়িত শিখা

সুতরাং -D হ'ল আপনি যখন কোনও দূরবর্তী শাখার সাথে শাখাটি মুছে ফেলা (সত্যই এটি প্রতিশ্রুতিবদ্ধ) ভাগ করে নি। সতর্কতাটি আপনাকে অবহিত করার জন্য যে আপনি শাখাটি (কমিট) রিমোটের সাথে ভাগ করেছেন তবে এটি কেবল হেডে মার্জ করা হয়নি। হেড হ'ল হেড, রিমোট / রিফ / হেড এক নয়। তবে দয়া করে আমাকে সংশোধন করুন আমি যদি দূরবর্তী হেড এবং স্থানীয় হেডের মধ্যে পার্থক্য সম্পর্কে ভুল হয়ে থাকি।
এরিক

7

অন্যান্য উত্তরগুলিতে যোগ করার জন্য, এর অর্থ এইও হতে পারে যে পরিবর্তনটি মাস্টারের সাথে একত্রীভূত হতে পারে, কেবলমাত্র আপনার স্থানীয় মাস্টারের অনুলিপিটি এটি প্রতিফলিত করে না। উভয় উপায়ে এটি আপনাকে কেবল অবহিত করে যে আপনার মাস্টারের স্থানীয় অনুলিপিটিতে আপনার উত্সের পরিবর্তিত পরিবর্তনগুলি নেই। মার্জ / মেশানো হয়নি ... হতে পারে, নাও হতে পারে

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