जवाबों:
दूरस्थ शाखाओं की स्थानीय सूची को अद्यतन करने के लिए:
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 fetch
2.17.1.1 के साथ मेरे लिए कुछ भी नहीं बदला। आप किस संस्करण और विकल्पों का उपयोग कर रहे हैं?
--prune
या तो या इसके git config remote.NAME.prune true
लिए ओपी प्रश्न हल करने की आवश्यकता है
यदि आप ग्रहण का उपयोग कर रहे हैं,
वे सब वहाँ होना चाहिए। राइट क्लिक करें और "चेकआउट करें।"
git ls-remote
यहां दिलचस्प हो सकता है।