Оновлення травня 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
?