2011-09-24 11 views
21

प्रश्न सरल है: refs/heads/masterrefs/remotes/origin/master जैसी ही बात है? अगर यह कुछ मामलों में नहीं है, तो मुझे कैसे पता चलेगा कि यह कब नहीं है और फिर यह क्या है?क्या "रेफ/हेड/मास्टर" गिट में "रेफर्स/रिमोट्स/मूल/मास्टर" के समान है?

+0

अगर कोई गलत है तो कोई मुझे सही करेगा, लेकिन आपके पास 'refs/origin/master' नहीं होना चाहिए। यह 'रेफरी/रिमोट/मूल/मास्टर' होना चाहिए। – meagar

उत्तर

23

वे दो अलग-अलग प्रतीकात्मक नाम हैं जो विभिन्न चीजों को इंगित कर सकते हैं। refs/heads/master आपकी कामकाजी प्रति में master नाम की एक शाखा है। अक्सर यह refs/remotes/origin/master की एक ट्रैकिंग शाखा है क्योंकि origingit clone द्वारा बनाए गए रिमोट के लिए डिफ़ॉल्ट नाम है और इसकी प्राथमिक शाखा आमतौर पर master भी नामित होती है।

आप git rev-list refs/heads/master..refs/remotes/origin/master के साथ उनके बीच अंतर देख सकते हैं जो खाली होंगे यदि वे समान हैं और अन्यथा उनके बीच की गतिविधियों को सूचीबद्ध करेंगे।

18

समझने के लिए महत्वपूर्ण अंतर यह है कि refs/heads/ के तहत शाखाएं शाखाएं हैं, जब आपने एक चेक आउट किया है, तो आप नई प्रतिबद्धताओं को बनाकर अग्रिम कर सकते हैं। refs/remotes/ के तहत, हालांकि, "रिमोट-ट्रैकिंग शाखाएं" तथाकथित हैं - ये रेफरी केवल इस प्रतिबद्धता को इंगित करती हैं कि पिछली बार जब आपने git fetch <name-of-remote> किया था, या एक दूरस्थ git push उस रिमोट रिपोजिटरी में संबंधित शाखा में एक दूरस्थ भंडार था । (मैंने एक ब्लॉग पोस्ट लिखा है जो कुछ अंतर here पर इस अंतर के बारे में बात करता है।)

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