जवाबों:
दूरस्थ शाखाओं की स्थानीय सूची को अद्यतन करने के लिए:
git remote update origin --prune
उन सभी स्थानीय और दूरस्थ शाखाओं को दिखाने के लिए जिनके बारे में (स्थानीय) Git को पता है
git branch -a
git remote update origin --pruneमैं क्या देख रहा था thx
git remote update, और स्वीकृत उत्तर, जो उपयोग करता है git fetch, यहां देखें
git fetchदूरस्थ शाखाओं के मेरे स्थानीय कैश को नहीं हटाया। केवल --pruneयह सब साफ करने में सक्षम था।
git config remote.origin.prune true
git remote prune originएक ही प्रभाव है और आप कम टाइप करते हैं।
मेरा मानना है कि यदि आप git branch --allबैश से भागते हैं, तो आपके द्वारा देखी जाने वाली दूरस्थ और स्थानीय शाखाओं की सूची यह दर्शाती है कि आपके स्थानीय गिट "कमांड को चलाने के समय" क्या जानते हैं। क्योंकि आपका Git आपके सिस्टम में स्थानीय शाखाओं के संबंध में हमेशा अपडेट रहता है, इसलिए स्थानीय शाखाओं की सूची हमेशा सटीक रहेगी।
हालाँकि, दूरस्थ शाखाओं के लिए ऐसा नहीं होना चाहिए। आपका स्थानीय Git केवल उन दूरस्थ शाखाओं के बारे में जानता है, जिन्हें उसने पिछले भ्रूण (या पुल) में देखा है। इसलिए यह संभव है कि आप एक नई दूरस्थ शाखा देखें git branch --allऔर न देखें जो पिछली बार आपके द्वारा खींचे जाने या खींचने के बाद दिखाई दी हो ।
यह सुनिश्चित करने के लिए कि आपकी स्थानीय और दूरस्थ शाखा सूची अद्यतित हो, आप दौड़ने git fetch से पहले कर सकते हैं git branch --all।
आगे की जानकारी के लिए, "रिमोट" शाखाएं जो आपके चलने पर दिखाई देती git branch --allहैं, वे वास्तव में बिल्कुल भी दूरस्थ नहीं हैं; वे वास्तव में स्थानीय हैं। उदाहरण के लिए, मान लीजिए कि रिमोट पर एक शाखा हो, featureजिसे आपने अपने स्थानीय गिट में कम से कम एक बार खींचा हो। origin/featureजब आप चलते हैं तो आपको एक शाखा के रूप में सूचीबद्ध देखा जाएगा git branch --all। लेकिन यह शाखा वास्तव में एक स्थानीय गिट शाखा है। जब आप ऐसा करते हैं git fetch origin, तो यह ट्रैकिंग शाखा रिमोट से किसी नए परिवर्तन के साथ अपडेट हो जाती है। यही कारण है कि आपकी स्थानीय स्थिति बासी हो सकती है, क्योंकि नई दूरस्थ शाखाएं हो सकती हैं, या आपकी ट्रैकिंग शाखाएं बासी हो सकती हैं।
git fetchयह किया है।
git fetchमेरे लिए काम नहीं करता है, जोड़ने की जरूरत है --prune। ); Btw, मैं नहीं downvoter हूँ
git fetchहटाए गए दूरस्थ शाखाओं को नहीं हटाता है। शायद यही कारण है कि कुछ लोगों ने
ओपी ने सभी रिमोट के लिए सफाई नहीं मांगी, बल्कि डिफ़ॉल्ट रिमोट की सभी शाखाओं के लिए।
तो git fetch --pruneक्या उपयोग किया जाना चाहिए।
सेटिंग स्वचालित git config remote.origin.prune trueबनाता है --prune। उस मामले में बस git fetchस्थानीय कॉपी से बासी दूरस्थ शाखाओं को भी चुभेगा। Git लाने या खींचने के साथ स्वचालित prune भी देखें ।
ध्यान दें कि यह स्थानीय शाखाओं को साफ नहीं करता है जो अब दूरस्थ शाखा को ट्रैक नहीं कर रहे हैं। देखें कि स्थानीय ट्रैकिंग शाखाएं कैसे प्रींट करें जो उस के लिए रिमोट पर मौजूद नहीं हैं ।
git fetch -p
git fetchसभी नवीनतम बनाई गई शाखाओं को लाने के लिए उपयोग करें ।
git fetch2.17.1.1 के साथ मेरे लिए कुछ भी नहीं बदला। आप किस संस्करण और विकल्पों का उपयोग कर रहे हैं?
--pruneया तो या इसके git config remote.NAME.prune trueलिए ओपी प्रश्न हल करने की आवश्यकता है
यदि आप ग्रहण का उपयोग कर रहे हैं,
वे सब वहाँ होना चाहिए। राइट क्लिक करें और "चेकआउट करें।"
git ls-remoteयहां दिलचस्प हो सकता है।