मैं स्थानीय शाखा को हटाने के बाद चेतावनी संदेश की बेहतर समझ प्राप्त करना चाहता हूं
चेतावनी:
'old_branch'उस शाखा को हटाना'refs/remotes/origin/old_branch', जिसका विलय हो चुका है , लेकिन अभी तक विलय नहीं हुआ हैHEAD।
मैं स्थानीय शाखा को हटाने के बाद चेतावनी संदेश की बेहतर समझ प्राप्त करना चाहता हूं
चेतावनी:
'old_branch'उस शाखा को हटाना'refs/remotes/origin/old_branch', जिसका विलय हो चुका है , लेकिन अभी तक विलय नहीं हुआ हैHEAD।
जवाबों:
यह आपको केवल चेतावनी दे रहा है कि आपके पास शाखा में धकेल दिए गए परिवर्तन हैं origin, लेकिन उनका विलय नहीं किया गया है master, इसलिए आप इसे केवल स्थानीय रूप से हटा रहे हैं।
यह आपको चेतावनी दे रहा है कि अब आपके पास उस शाखा की स्थानीय प्रति नहीं है, लेकिन यह मौजूद है origin
यदि आप दूरस्थ शाखा को भी हटाना चाहते हैं, तो उपयोग करें git push --delete origin old_branch
masterइसमें शामिल नहीं है। आप वर्तमान शाखा का मतलब है, बल्कि। ;)
git branch -d branch_nameजो केवल स्थानीय रूप से शाखा को हटाने के लिए माना जाता है। इस मामले में चेतावनी की आवश्यकता क्यों है?
मान लें कि आपने वर्तमान में masterचेक आउट कर दिया है, तो इसका मतलब है कि इसमें किए गए बदलाव old_branchमौजूद नहीं हैं master। हालांकि, वे कर रहे हैं में मौजूद old_branchपर origin।
HEAD", HEADयहां स्थानीय मास्टर शाखा के हेड का संदर्भ दिया गया है।
masterस्थानीय रूप से जाँच कर ली है, यह तब भी हो सकता है यदि किसी भी प्रकार का SHA बदल गया हो; यानी आपने बगावत origin/old_branchकर दी origin/master। यहां तक कि अगर यह तेजी से अग्रेषित किया गया था, तो इससे प्रत्येक नई प्रतिबद्ध के लिए एक नया SHA उत्पन्न होगा origin/old_branch, जिससे old_branchआपके स्थानीय masterशाखा में परिवर्तनों को खींचने के बाद मूल SHA को आपके स्थानीय में देखने के लिए एकजुट हो जाएगा । ऐसा क्यों होता है इसके लिए आप इस उत्तर और इस उत्तर को देख सकते हैं ।
इसका मतलब है कि आपकी स्थानीय शाखा old_branchरिमोट old_branchपर दूरस्थ शाखा के साथ अद्यतित है originलेकिन इसे उस शाखा में विलय नहीं masterकिया जाता है जिसे रेपो में मुख्य शाखा माना जाता है।
यह सिर्फ एक सावधानी है। यह आपको संकेत देता है: हो सकता है कि आपने विषय-शाखा में अपना काम किया हो और इसे मुख्य शाखा में विलय करना भूल गए हों?
अपडेट करें
आपके परिवर्तन को खोने से आपको चेतावनी देता है। उदाहरण के लिए यदि आपके पास old_branchमास्टर गिट पर नहीं है, तो आपको उस शाखा को भी हटाने की अनुमति न दें जो मास्टर को दी गई है (वैसे यह अनुमति देता है, लेकिन कुंजी के साथ -Dजो force-deleteविकल्प है)।
master, लेकिन वर्तमान HEAD।
अन्य उत्तरों में जोड़ने के लिए, इसका मतलब यह भी हो सकता है कि परिवर्तन को मास्टर में मिला दिया जा सकता है, बस यह कि मास्टर की आपकी स्थानीय प्रति अभी तक प्रतिबिंबित नहीं हुई है। किसी भी तरह से यह सिर्फ आपको सूचित करता है कि आपके स्वामी की स्थानीय प्रति में आपके द्वारा मूल पर धकेल दिए गए परिवर्तन नहीं हैं। विलय / विलय नहीं ... हो सकता है, शायद नहीं