Ответ 1
Обновление до 2015 года
По git 2.4.1 вы можете сделать
git config --global push.followTags true
Если установлено значение true, включите опцию -follow-tags по умолчанию. Вы можете переопределить эту конфигурацию во время нажатия, указав --no-follow-tags.
Обновление апрель 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
, которая будет вызывать все ссылки ref под refs/
.
Вы также можете нажать только один тег с вашей текущей фиксацией ветки:
git push origin : v1.0.0
Вы можете объединить параметр --tags
с помощью refspec:
git push origin --tags :
(поскольку --tags
означает: все ссылки ref под refs/tags
нажаты, в дополнение к refspecs, явно указанным в командной строке)
У вас также есть эта запись Нажатие ветвей и тегов с помощью единственного вызова 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 Kishore
push = +refs/heads/*
будет форсировать все ваши ветки.
Это немного меня сейчас, так что FYI.
René Scheibe добавляет этот интересный комментарий:
Параметр
--follow-tags
вводит в заблуждение, так как учитываются только теги под.git/refs/tags
.
Еслиgit gc
запущен, теги перемещаются из.git/refs/tags
в.git/packed-refs
. Впоследствииgit push --follow-tags ...
больше не работает так, как ожидалось.