2009-10-27 6 views
9

हमारे पास एकाधिक टैग के साथ एक भंडार है। प्रत्येक टैग सॉफ्टवेयर के एक संस्करण का प्रतिनिधित्व करता है। हम भंडार को रिमोट सर्वर पर दबा रहे हैं।पुश करते समय गिट टैग गायब हो जाते हैं तो क्लोन?

जब हम रिमोट सर्वर से ताजा क्लोन करते हैं, तो टैग अब नहीं होते हैं। आप कैसे सुनिश्चित करते हैं कि अन्य डेवलपर्स या क्लाइंट रिमोट सर्वर से सॉफ़्टवेयर के विशिष्ट संस्करणों की जांच कर सकें?

उत्तर

12

git push --tags या git push remotetag-name

+0

यह मुझे अजीब लगता है कि टैग अलग रखा जाना चाहिए, मुझे आश्चर्य है क्यों! – corydoras

+2

वास्तव में, टैग अलग नहीं रखा जाता है। 'गिट पुश' के डिफ़ॉल्ट अर्थशास्त्र आपकी स्थानीय मशीन पर रिफ्रेंस (शाखाएं और टैग) को धक्का देना है, जो रिमोट पर मेल खाने वाले रेफरी हैं। चूंकि किसी भी दिए गए टैग को रिमोट पर अभी तक मौजूद नहीं है, इसलिए इसे धक्का नहीं दिया जाएगा (और टैग के रूप में अपरिवर्तनीय होने का इरादा है, यह किसी भी तरह टैग को अपडेट करने के लिए वास्तव में समझ में नहीं आता है)। इसलिए, जब आप उन्हें रिमोट पर दिखाना चाहते हैं तो आपको टैग को स्पष्ट रूप से धक्का देना होगा। –

+2

मुझे लगता है कि, 'गिट पुश टैग ' टैग करने की आवश्यकता हो सकती है, यानी भंडार पैरामीटर को स्पष्ट रूप से निर्दिष्ट किया जाना चाहिए (क्योंकि व्याख्या स्थिति पर निर्भर करती है)। –

9

एक given by Brian Campbell लिए वैकल्पिक समाधान सभी refs पुश करने के लिए दूरदराज के कॉन्फ़िगर करें, या सभी शाखाओं और टैग पुश करने होगा:

[remote "repository"] 
     url = [email protected]:user/repo.git 
     push = +refs/heads/*:refs/heads/* 
     push = +refs/tags/*:refs/tags/* 
0

ध्यान दें कि, git 1.8.3 (April 22d, 2013) के बाद से, एक:

git push --follow-tags 

किसी भी नए काम के साथ-साथ धक्का कम द्वारा संदर्भित सभी एनोटेटेड टैग को धक्का देगा आईटी इस।

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