2010-03-28 18 views
5

के संदर्भ में अव्यवस्था क्या है git show-ref -d के लिए मैन पेज यहां दिया गया है। उनके पास नीचे एक उदाहरण भी है। फिर भी मैं समझ नहीं पा रहा हूं कि क्या सम्मान करता है?गिट शो-रेफ-डी

उत्तर

8

गिट में, एक "सामान्य" (एनोटेटेड, लाइटवेट नहीं) टैग स्वयं के लिए एक ऑब्जेक्ट है, जिसमें मेटाडाटा और एसएचए 1 ऑब्जेक्ट टैग करता है। गिट समुदाय पुस्तक के अनुभाग में the git object model (नीचे स्क्रॉल करें) पर एक सुंदर तस्वीर है।

तो, जब आप सामान्य टैग पर शो-रेफ का उपयोग करते हैं, तो यह आमतौर पर आपको टैग ऑब्जेक्ट के बारे में जानकारी देगा। -d/--dereference विकल्प के साथ, यह टैग उस ऑब्जेक्ट में टैग को अस्वीकार कर देगा जो टैग को संदर्भित करता है, और इसके बजाय इसके बारे में जानकारी प्रदान करता है।

और हल्के बनाम एनोटेट टैग पर एक नोट, मामले में आपको लगता है कि के बारे में पता नहीं कर रहे हैं: एक हल्के टैग (-a, -s, या -u तरह मेटाडाटा-प्रदान करने से कोई भी विकल्प के बिना यानी) git tag <tag name> का उपयोग करके बनाया जाता है । यह एक टैग ऑब्जेक्ट बिल्कुल नहीं है, केवल आपके द्वारा टैग की गई वस्तु पर सीधे एक रेफ पॉइंटिंग है। यदि आप उन विकल्पों में से एक प्रदान करते हैं, तो आप टैग में मेटाडेटा संलग्न कर रहे हैं, इसलिए गिट इसे पकड़ने के लिए एक टैग ऑब्जेक्ट बनाता है।

+0

अच्छा सारांश। + 1 यह भी देखें http://stackoverflow.com/questions/1194385/seeing-what-revision-goes-with-a-tag-in-git: "अगर आपको पता नहीं है या परवाह है टैग एक टैग ऑब्जेक्ट या लाइटवेट लेबल है, लेकिन केवल उस प्रतिबद्धता को देखना चाहता है जिसे आप 'गिट शो v1.5.0^{}', या 'git rev-parse v1.5.0^{}' का उपयोग करने के लिए एक स्क्रिप्ट योग्य तरीके के लिए उपयोग कर सकते हैं प्रतिबद्ध आईडी। " – VonC

+0

वॉनसी का सहायक संकेत शायद किसी के लिए थोड़ा अजीब दिखता है जो गिट से परिचित नहीं है। '^ {}' प्रत्यय टैग के लिए एक विशेष संकेत है; इसका मतलब यह है कि जब तक आप एक टैग के अलावा कुछ नहीं पाते हैं तब तक टैग को बार-बार खराब करें "- अगर आपने टैग के साथ एक टैग टैग करने की तरह कुछ पागल किया है। – Cascabel

+0

सच है, नोटेशन अजीब है;) टैग के साथ एक टैग टैग करने के लिए, कोई कल्पना कर सकता है कि यह किसी प्रकार का मेटाडेटा जोड़ने में मदद कर सकता है (उदाहरण के लिए "प्रचार पद" 'अस्वीकार', 'परीक्षण', 'जारी' , ...) एक मौजूदा टैग की गई प्रतिबद्धता के लिए। – VonC