2012-09-27 9 views
41

मुझे आउटपुट में दूसरी पंक्ति को git branch -l -a: remotes/origin/HEAD -> origin/master पर समझ में नहीं आता है।मेरे `गिट शाखा-एल-ए आउटपुट में 'रिमोट/मूल/HEAD -> मूल/मास्टर' प्रविष्टि क्यों है?

git branch -l -a 
* master 
    remotes/origin/HEAD -> origin/master 
    remotes/origin/master 

क्या यह किसी अन्य ऑपरेशन से बचे हुए है? क्या मुझे इसे साफ करना चाहिए? और मैं यह कैसे करूँगा?

आमतौर पर मैं क्ली पर गिट के साथ काम करता हूं, लेकिन इस स्थानीय भंडार पर मैंने एक दोस्त के लिए आसान गिट वर्कफ़्लो खोजने के लिए TortoiseGit के साथ प्रयोग किया।

+1

"गिट शाखा-आर" चलाने पर दिखाए गए "मूल/HEAD" का संभावित डुप्लिकेट क्यों है?] (Http://stackoverflow.com/questions/354312/why-is-origin-head-shown- जब-रनिंग-गिट-शाखा-आर) –

+0

वैसे, '-l' शायद आप जो चाहते हैं वह नहीं करता है। आम तौर पर, [यह रीफ्लॉग बनाता है] (https://git-scm.com/docs/git-branch#git-branch--l), लेकिन यहां शायद यह अभी छोड़ा गया है। सभी शाखाओं को सूचीबद्ध करने के लिए, 'गिट शाखा-ए' पर्याप्त है। संक्षिप्त उत्तर और लिंक के लिए – Palec

उत्तर

28

नहीं, साफ करने की कोई आवश्यकता नहीं है: यह आपके रिमोट रेपो द्वारा संदर्भित प्रतीकात्मक शाखा है।
जब आप अपने रेपो को क्लोन करते हैं, तो आप remotes/origin/HEAD द्वारा संदर्भित शाखा पर डिफ़ॉल्ट रूप से होंगे।

यह भी देखें:

+1

Thx। मुझे लगता है कि मैं उलझन में था क्योंकि मैंने इस टेस्ट रेपो की तुलना किसी अन्य व्यक्ति से की थी जिसमें रिमोट/मूल/HEAD संदर्भ नहीं था। वह अन्य रेपो मूल रेपो था जिसे मैंने जिथब को धक्का दिया था, इसलिए कभी क्लोन नहीं किया गया था। क्या यह सही है कि यह (क्लोन नहीं किया गया) कारण है कि इसमें HEAD संदर्भ नहीं है? – mistaecko

+1

@ मिस्टेको हाँ, यह सही है। – VonC

+4

यदि आप इसे हटाना चाहते हैं: 'git दूरस्थ सेट-हेड मूल-डी', प्रति http://stackoverflow.com/a/6838756। –

21

आप git remote set-head origin -d उपयोग कर सकते हैं origin/HEAD प्रतीकात्मक रेफरी को हटाना या git remote set-head origin -a क्वेरी करने के लिए रिमोट और स्वचालित रूप से रिमोट की वर्तमान शाखा में origin/HEAD पॉइंटर सेट करें।

origin/HEAD संदर्भ वैकल्पिक है। यह केवल सिंटैक्टिक शॉर्टकट के रूप में कार्य करता है: यदि यह मौजूद है और origin/master पर इंगित करता है, तो आप विशिष्ट बस origin का उपयोग कर सकते हैं जहां आप अन्यथा origin/master निर्दिष्ट करेंगे।

git remote(1) आदमी पृष्ठ इस वर्णन करता है:

सेट सिर

सेट या नामित के लिए डिफ़ॉल्ट शाखा (यानी प्रतीकात्मक-रेफरी refs/रिमोट // प्रमुख का लक्ष्य) को हटा देता है दूरदराज के। एक रिमोट के लिए डिफ़ॉल्ट शाखा की आवश्यकता नहीं है, लेकिन का नाम किसी विशिष्ट शाखा के बदले में निर्दिष्ट किया जा सकता है। उदाहरण के लिए, यदि मूल के लिए डिफ़ॉल्ट शाखा मास्टर पर सेट की गई है, तो मूल निर्दिष्ट हो सकता है जहां भी आप सामान्य रूप से मूल/मास्टर निर्दिष्ट करेंगे।

+0

क्या 'गिट शाखा-एल-ए' या इसी तरह के कॉल करना संभव है, और हेड और अन्य प्रतीकात्मक रेफरी को फ़िल्टर करना संभव है? –

+0

आप 'गिट शाखा --list -a | grep -v '->' ' –

+0

यकीन है, लेकिन यह हैक बहुत अविश्वसनीय है। सभी "अपवाद" कैसे जानें ... –

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