टिप्पणियों में शामिल के रूप में: git remote add otherRepo …
केवल रिमोट को कॉन्फ़िगर करता है, यह इससे कुछ भी नहीं लाता है। इससे पहले कि आप स्थानीय शाखाएं बना सकें, आपको रिमोट रिपोजिटरी की शाखाएं लाने के लिए git fetch otherRepo
चलाने की आवश्यकता होगी।
(ओपी द्वारा आगे की टिप्पणी का जवाब)
आप केवल दूरदराज के भंडार से एक एकल शाखा का ट्रैक रखने के लिए चाहते हैं, तो आप आपके रिमोट की लाने संपत्ति (remote.otherRepo.fetch
) को पुन: कॉन्फ़िगर कर सकते हैं।
# done as a shell function to avoid repeating the repository and branch names
configure-single-branch-fetch() {
git config remote."$1".fetch +refs/heads/"$2":refs/remotes/"${1}/${2}"
}
configure-single-branch-fetch "$remoteName" "$branch"
# i.e. # configure-single-branch-fetch otherRepo master
इस के बाद, git fetch otherRepo
केवल अपने स्थानीय भंडार में otherRepo/master
'दूरस्थ ट्रैकिंग शाखा' में दूरदराज के भंडार के master
शाखा लायेगा।
सफाई करने के लिए
अन्य 'दूरस्थ ट्रैकिंग शाखाओं', आप उन सभी हटा सकते हैं और सिर्फ एक आप चाहते हैं फिर से लाएं, या आप चुनिंदा सिर्फ एक आप चाहते हैं को छोड़कर उन सभी को नष्ट कर सकते हैं:
git for-each-ref --shell --format='git branch -dr %(refname:short)' refs/remotes/otherRepo | sh -nv
# remove the -nv if the commands look OK, then
git fetch otherRepo
# OR
git for-each-ref --shell --format='test %(refname:short) != otherRepo/master && git branch -dr %(refname:short)' refs/remotes/otherRepo | sh -nv
# remove the -nv if the commands look OK
यदि आप निर्णय लेते हैं कि आप एक से अधिक दूरस्थ शाखाओं को ट्रैक करना चाहते हैं, लेकिन उनमें से सभी नहीं, तो आपके पास एकाधिक रिंच कॉन्फ़िगरेशन (git config --add remote."$remoteName".fetch …
के साथ या git config --edit
का उपयोग करके सीधे अपनी डुप्लिकेट और कॉन्फ़िगरेशन फ़ाइल में लाइन को संपादित करने के लिए) हो सकता है।
यदि आप रिमोट से टैग लाने से बचाना चाहते हैं, तो अपने रिमोट की टैगोपेट प्रॉपर्टी को कॉन्फ़िगर करें (remote.otherRepo.tagopt
)।
git config remote."$remoteName".tagopt --no-tags
# i.e. # git config remote.otherRepo.tagopt --no-tags
स्रोत
2010-02-21 00:56:59
क्या आपने शाखा की कोशिश करने से पहले 'गिट फ़ेच अन्य रेपो' किया था? 'गिट रिमोट एड' बस रिमोट को कॉन्फ़िगर करता है, यह स्वचालित रूप से एक fetch नहीं करता है। यदि आप इसे पहले ही प्राप्त कर चुके हैं, तो क्या आप वाकई मास्टर नाम की एक शाखा है? 'गिट शाखा -आर' या' गिट रिमोट शो- कोई अन्य रेपो '(* इसे लाने के बाद *) यह जांचने के लिए कि कौन सी शाखाएं हैं। –
@ क्रिस: धन्यवाद, अब यह काम करता है। ऐसा लगता है कि मुझे तर्कसंगत लगता है कि मुझे लाने की ज़रूरत है, हालांकि यह अन्य रेपो से अन्य सभी शाखाओं को भी जोड़ता है। क्या मैं सिर्फ अन्य रेपो/मास्टर ला सकता हूं? मैं शाखा-अप को अव्यवस्थित नहीं करना चाहता हूं। –