2011-08-04 10 views
21

सभी दूरस्थ शाखाएं एक गिट फ़ेच के बाद मेरे स्थानीय गिट भंडार में रिमोट के रूप में दिखाई देती हैं।मैं स्थानीय गिट भंडार में रिमोट शाखा को कैसे हटा सकता हूं?

मेरे स्थानीय भंडार (रिमोट रिपोजिटरी में नहीं) में दूरस्थ शाखाओं को चुनिंदा रूप से कैसे हटाएं?

उत्तर

27

git branch -r -d remote/branch

आप भी इस शाखा बाद में पुन:

+1

कैसे आप लाने को पुन: कॉन्फ़िगर है: समाधान केवल --prune (या -p) के विकल्प के साथ लाने के लिए है? – dbaugh

+1

क्योंकि [मैंने अभी भी इसकी तलाश की है] (https://git-scm.com/book/en/v2/Git-Internals-The-Refspec) - आपको '.git/config' संपादित करने की आवश्यकता है, और संपादित करें अनुभाग '[रिमोट "मूल"]' या जो भी हो। 'Fetch = + refs/head/* को बदलें: रीफ/रिमोट/github/*' 'fetch = + refs/head/master: refs/remotes/github/master' के साथ केवल मास्टर शाखा लाने के लिए। मुझे लगता है कि आप अधिक शाखाएं करने के लिए कई 'fetch' लाइनें जोड़ सकते हैं। सुनिश्चित नहीं है कि आप केवल एक शाखा को बाहर कर सकते हैं। –

+0

अगर रिमोट शाखा पहले से ही दूरस्थ पक्ष पर हटा दी गई है तो यह काम नहीं करती है। इस मामले में, @ थॉमस लेवेस्क से निम्नलिखित उत्तर देखें। – peterh

34

प्राप्त करते समय मैं एक अलग लेकिन इसी तरह के मुद्दे था से बचने के लिए लाने को पुन: कॉन्फ़िगर करने की जरूरत है, लेकिन समाधान जो दूसरों को इस सवाल पर ठोकर करने के लिए उपयोगी हो सकता है ..

मैंने देखा कि मेरे स्थानीय भंडार में अभी भी दूरस्थ शाखाएं थीं जो रिमोट पर मौजूद नहीं थीं, इसलिए मैं उन्हें हटाना चाहता था।

git fetch --prune 
+5

यह वास्तविक समाधान है। – abhisekp

+0

मैं थॉमस – Daviiid

+0

के साथ सहमत हूं यह कामकाजी समाधान है, अगर रिमोट शाखा पहले से ही सर्वर की तरफ हटा दी गई है। यह वास्तव में अपने शाखा संदर्भों को सिंक्रनाइज़ करता है, स्थानीय रूप से हटा रहा है जो पहले से ही मौजूद नहीं है। ऊपर ऊपर ऊपर। – peterh

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