2014-06-19 7 views
8

मुझे पता है कि यह पूछा गया है, मैंने इस पर अपनी प्रतिक्रियाएं देखी हैं, लेकिन कुछ भी काम नहीं करता है।गिट: दूरस्थ शाखा को स्थायी रूप से हटा नहीं सकता

यहां मेरा वर्कफ़्लो था। एक नई शाखा बनाएं और उस पर काम करें। कभी कभी मैं कई कंप्यूटरों उपयोग करती हैं इसलिए मैं इसे धक्का दिया दूरस्थ ताकि मैं इसे कहीं और

git branch new_branch 
git checkout new_branch 
git push -u origin new_branch 

मिल सकता है के लिए कई कंप्यूटरों में से एक पर अपने काम से कुछ तो गुरु और धक्का करने के लिए विलय करें।

git checkout master 
git merge new_branch 

अब मैं शाखा को हटाना चाहता हूं।

git branch -d new_branch (this works fine and when I run 'git branch' it only shows local master 
git branch -r -d origin/new_branch (now on this computer when i run 'git branch -r' it's gone like it should be) 

लेकिन उसके बाद मैं कोई बात नहीं है जो कंप्यूटर मैं अगर मैं पुल git 'या पर हूँ दूरस्थ शाखा को हटाते हैं,' Git लाने 'इसे फिर से खींचती है कि new_branch। मैंने देखा कि सभी प्रुन कमांड मैंने कोशिश की है और सबकुछ। लेकिन फिर भी यह दिखाना जारी है।

उत्तर

16

आपको को दूरस्थ पर शाखा को हटाने के लिए ऐसा करना है।

git push origin --delete new_branch 

यह शाखा दूरस्थ रिपोजिटरी से new_branch बुलाया निकाल देंगे। (new_branch रिमोट पर एक स्थानीय शाखा है। इसे एक और तरीका रखने के लिए, यदि आप रिमोट रिपोजिटरी में सीडी कर सकते हैं, इसे स्थानीय भंडार बनाते हैं, तो इसकी स्थानीय शाखा new_branch कहलाती है। यही वह शाखा है जिसे आप हटा रहे हैं उपरोक्त आदेश।)

जब आप ऐसा करेंगे

git branch -r -d origin/new_branch 

वह सब कुछ हो रहा है कि आप दूरस्थ शाखा सूचक अपने स्थानीय भंडार में है कि हटा रहे है। यह अंतिम आदेश दूरस्थ भंडार में कुछ भी नहीं बदलता है।

रिमोट पर शाखा को हटाए जाने के बाद (ऊपर दिए गए पहले कमांड का उपयोग करके), तो git remote prune origin आपके अन्य कंप्यूटरों पर काम करना शुरू कर देगा, उनकी रिमोट शाखाओं को origin/new_branch हटा देगा।

संबंधित मुद्दे