आप शाखा को हटा सकते हैं, लेकिन इसे पहले टैग करें, ताकि यह इतिहास गायब न हो। इस तरह, शाखा शाखा सूची में दिखाई नहीं देती है, जिसे उम्मीद है कि लोगों को इस पर काम करने से रोकना चाहिए, लेकिन काम स्थायी रूप से मिटाया नहीं जाएगा (कचरा संग्रह चलने के बाद भी)। उदाहरण के लिए, जब भी मेरे पास एक शाखा होती है जो अप्रासंगिक हो गई है, लेकिन मैं इसे स्थायी रूप से हटाने के लिए तैयार नहीं हूं, मैं इसे "संग्रह / < शाखा-नाम >" के रूप में टैग करता हूं ।
जबकि master
या किसी अन्य शाखा पर:
git tag archive/foo foo
git branch -D foo
यह डिलीट करने से पहले ब्रांच archive/foo
से एक टैग बनाता है । आप टैग में एक संदेश भी जोड़ सकते हैं, जो बताता है कि शाखा में क्या है, यह क्यों अस्तित्व में है, यह अब एक मृत अंत क्यों है, आदि।foo
foo
git tag -m 'Foo is deprecated in favor of bar' archive/foo foo
रिकॉर्ड करने की क्षमता क्यों एक शाखा को पदावनत किया जा रहा है, शायद वैकल्पिक नाम स्थान के लिए शाखाओं को बनाम स्थानांतरित करने का टैग लगाने का एक फायदा है।
यदि आपको कभी ऐसी शाखा को पुनर्जीवित करने की आवश्यकता होती है जिसे इस तरह से संग्रहीत किया गया है, तो यह उतना ही सरल है:
git branch foo archive/foo
git tag -d archive/foo # Optional
अब शाखा वापस आ गई है क्योंकि इसे कभी हटाया नहीं गया था।
--tags
विकल्प का उपयोग करकेgit push
) और फिर दूरस्थ शाखा को हटाने (:<branch-to-delete>
पुश करते समय रिफस्पेक का उपयोग करके) को धक्का देकर रिमोट रिपोज के साथ भी काम कर सकता है । उदाहरण के लिए:git tag archive/foo foo; git branch -D foo; git push --tags origin :foo