मई 2015 को अपडेट करें
के रूप में Git 2.4.1 , आप कर सकते हैं
git config --global push.followTags true
यदि डिफ़ॉल्ट रूप से सत्य सक्षम करने के लिए सेट --follow- टैग विकल्प।
--No- फॉलो-टैग निर्दिष्ट करके आप पुश के समय इस कॉन्फ़िगरेशन को ओवरराइड कर सकते हैं।
जैसा कि वेस हर्ड का जवाब देते हुए मैट रोजर्स ने इस धागे में लिखा है :
--follow-tags
केवल एनोटेट टैग पुश करता है ।
git tag -a -m "I'm an annotation" <tagname>
इसे धकेला जाएगा (जैसा कि विरोध किया गया है git tag <tagname>
, एक हल्का टैग, जिसे धक्का नहीं दिया जाएगा, जैसा कि मैंने यहां बताया है )
अप्रैल 2013 को अपडेट करें
चूंकि Git 1.8.3 (अप्रैल 22d, 2013) , आप अब 2 आदेशों करने के लिए शाखाओं पुश करने के लिए, और उसके बाद टैग पुश करने के लिए है :
नया " --follow-tags
" विकल्प बताता है " git push
" प्रासंगिक एनोटेट टैग को पुश करने के लिए जब शाखाओं को बाहर धकेल दिया जाता है ।
अब आप कोशिश कर सकते हैं, जब नए काम करता है:
git push --follow-tags
हालांकि, सभी स्थानीय टैगों को धक्का नहीं देगा , केवल उन कमिट द्वारा संदर्भित किया जाता है, जिनके साथ धक्का दिया जाता है git push
।
Git 2.4.1+ (Q2 2015) विकल्प को प्रस्तुत करेगा push.followTags
: "" कैसे बनाएं " git push
" एक शाखा के भीतर टैग शामिल करें? "।
मूल उत्तर, सितंबर 2010
परमाणु विकल्प होगा git push --mirror
, जो सभी रिफ को नीचे धकेल देगा refs/
।
आप अपनी वर्तमान शाखा के साथ सिर्फ एक टैग को भी धकेल सकते हैं:
git push origin : v1.0.0
आप --tags
विकल्प को एक refspec के साथ जोड़ सकते हैं जैसे:
git push origin --tags :
(जब से --tags
इसका मतलब है: सभी refs के तहत refs/tags
धकेल दिया जाता है, refspecs के अलावा स्पष्ट रूप से कमांड लाइन पर सूचीबद्ध है )
आपके पास यह प्रविष्टि " पुशिंग ब्रांच और टैग्स के साथ सिंगल" गिट पुश "इनवोकेशन " है
एक आसान टिप सिर्फ Zoltán Füzesi द्वारा Git मेलिंग सूची में पोस्ट की गई थी:
मैं .git/config
इसे हल करने के लिए उपयोग करता हूं :
[remote "origin"]
url = ...
fetch = +refs/heads/*:refs/remotes/origin/*
push = +refs/heads/*
push = +refs/tags/*
इन पंक्तियों के साथ जोड़ा git push origin
आपकी सभी शाखाएं और टैग अपलोड हो जाएंगे। यदि आप उनमें से कुछ को ही अपलोड करना चाहते हैं, तो आप उन्हें गणना कर सकते हैं।
अभी तक इसे स्वयं करने की कोशिश नहीं की गई है, लेकिन ऐसा लगता है कि यह तब तक उपयोगी हो सकता है जब तक कि एक ही समय में शाखाओं और टैग को धकेलने का कोई अन्य तरीका गिट पुश में न जोड़ा जाए।
दूसरी ओर, मुझे टाइप करने में कोई दिक्कत नहीं है:
$ git push && git push --tags
खबरदार , जैसा कि अज़ीम किशोर ने टिप्पणी की थी
push = +refs/heads/*
अपनी सभी शाखाओं को बलपूर्वक आगे बढ़ाएगा ।
यह मुझे अभी, इसलिए FYI करें।
रेने शेहीब ने इस दिलचस्प टिप्पणी को जोड़ा :
--follow-tags
पैरामीटर के तहत केवल टैग के रूप में भ्रामक है .git/refs/tags
माना जाता है।
यदि git gc
चलाया जाता है, तो टैग को से स्थानांतरित कर दिया जाता .git/refs/tags
है .git/packed-refs
। बाद git push --follow-tags ...
में उम्मीद के मुताबिक काम नहीं करता है।
git push && git push --tags
?