Оновлення травня 2015 року
З git 2.4.1 ви можете це зробити
git config --global push.followTags true
Якщо встановлено значення true enable - за замовчуванням виберіть параметр нижче-тегів.
Ви можете змінити цю конфігурацію під час натискання, вказавши --no-follow-теги.
Як зазначає у цій темі Метт Роджерс у відповідь на Уеса Херда :
--follow-tags лише висуває помічені теги .
git tag -a -m "I'm an annotation" <tagname>
Це буде натиснуто (на відміну від git tag <tagname>легкого тегу, який не буде висунутий, як я вже згадував тут )
Оновлення квітня 2013 року
Оскільки git 1.8.3 (22 квітня 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опцію з респектом, наприклад:
git push origin --tags :
(оскільки --tagsозначає: всі посилання під тискомrefs/tags висуваються, крім рефлексій, явно зазначених у командному рядку )
У вас також є запис " Натискання гілок і тегів з одним викликом " git push "
Щойно зручна порада була розміщена у списку розсилки Git Zoltán Füzesi:
Я використовую .git/configдля вирішення цього питання:
[remote "origin"]
url = ...
fetch = +refs/heads/*:refs/remotes/origin/*
push = +refs/heads/*
push = +refs/tags/*
За допомогою цих рядків git push originбуде додано всі ваші гілки та теги. Якщо ви хочете завантажити лише деякі з них, ви можете їх перерахувати.
Я ще не пробував цього ще, але, схоже, це може бути корисним, поки якийсь інший спосіб одночасного натискання гілок і тегів не буде доданий до git push.
З іншого боку, я не проти вводити:
$ git push && git push --tags
Обережно , так як зауважив по Aseem Кишор
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?