जब आप git push origin :staleStuff
का उपयोग करते हैं, तो यह स्वचालित रूप से origin/staleStuff
हटा देता है, इसलिए जब आप git remote prune origin
चलाते हैं, तो आपने किसी अन्य शाखा को हटा दिया है जिसे किसी अन्य व्यक्ति द्वारा हटा दिया गया था। आपके द्वारा निकाले गए शाखाओं से छुटकारा पाने के लिए अब आपके सहकर्मियों को git prune
चलाने की आवश्यकता है।
तो वास्तव में git remote prune
क्या करता है? मुख्य विचार: स्थानीय शाखाएं (शाखाओं को ट्रैक नहीं करना) git remote prune
कमांड से छुआ नहीं है और मैन्युअल रूप से हटा दिया जाना चाहिए।
अब, बेहतर समझ के लिए एक वास्तविक दुनिया उदाहरण: master
और feature
:
आप 2 शाखाओं के साथ एक दूरस्थ भंडार है।
refs/heads/master
(छोटा नाम master
)
refs/heads/feature
: चलो, मान लें कि आप दोनों शाखाओं पर काम कर रहे हैं ताकि एक परिणाम के रूप में आप अपने स्थानीय भंडार में इन संदर्भों है (पूर्ण संदर्भ नाम किसी भी भ्रम से बचने के लिए दिए गए हैं) करते हैं (छोटा नाम feature
)
refs/remotes/origin/master
(छोटा नाम origin/master
)
refs/remotes/origin/feature
(छोटा नाम origin/feature
)
,210
अब, एक विशिष्ट परिदृश्य:
- कुछ अन्य डेवलपर
feature
पर सभी काम खत्म, master
में विलीन हो जाती है और दूरदराज के भंडार से feature
शाखा निकाल देता है।
- डिफ़ॉल्ट रूप से, जब आप
git fetch
(या git pull
) करते हैं, तो आपके स्थानीय भंडार से कोई संदर्भ नहीं हटाया जाता है, इसलिए आपके पास अभी भी उन सभी 4 संदर्भ हैं।
- आप उन्हें साफ़ करने का निर्णय लेते हैं, और
git remote prune origin
चलाते हैं।
- Git का पता लगाने कि
feature
शाखा अब मौजूद नहीं है, इसलिए refs/remotes/origin/feature
एक बासी शाखा है जो हटाया जाना चाहिए है।
- अब आपके पास
refs/heads/feature
सहित 3 संदर्भ हैं, क्योंकि git remote prune
कोई भी refs/heads/*
संदर्भ नहीं हटाता है।
branch.<branch_name>.merge
कॉन्फ़िगरेशन पैरामीटर द्वारा दूरस्थ ट्रैकिंग शाखाओं से जुड़ी स्थानीय शाखाओं की पहचान करना संभव है। यह पैरामीटर वास्तव में काम करने के लिए आवश्यक नहीं है (शायद git pull
को छोड़कर), तो यह गायब हो सकता है।
बाहर क्या शाखाओं आप 'कर सकते हैं Git दूरस्थ शो origin' और के लिए किसी भी शाखाओं में चिह्नित देखो हटाया जा करने जा रहे हैं लगता है (टिप्पणियों से उदाहरण & उपयोगी जानकारी के साथ अद्यतन)' stale' –