Je suis conscient de la raison pour laquelle git push --tags
est une opération distincte dans le vieux git push
. Pousser les tags devrait être un choix conscient puisque vous ne voulez pas forcément en pousser un. C'est très bien. Mais y a-t-il un moyen de pousser les deux ensemble? (Mis à part git push && git push --tags
.)
Réponse
Trop de publicités?Mise À Jour Avril 2013
Depuis git 1.8.3 (avril 22, 2013), vous n'aurez plus à faire 2 commandes à pousser des branches, et puis pour pousser les balises:
Le nouveau "
--follow-tags
" option indique "git push
" pour pousser pertinentes annoté des balises lors de la poussée branches.
Vous pouvez maintenant essayer, lors de la poussée de nouvelles s'engage à:
git push --follow-tags
Pour ne pas les pousser tous les locaux des balises bien que, seul celui qui est référencé par les commits qui sont poussés avec l' git push
.
(Réponse originale à cette question en septembre 2010)
L'option nucléaire serait git push --mirror
, ce qui va pousser tous les refs en vertu de l' refs/
.
Vous pouvez également pousser juste un tag avec votre succursale de s'engager:
git push origin : v1.0.0
Vous pouvez combiner l' --tags
option avec un refspec comme:
git push origin --tags :
(depuis --tags
signifie que Toutes les refs en vertu de l' refs/tags
sont poussés, en plus de refspecs explicitement listés sur la ligne de commande)
Vous avez également cette entrée "Pousser des branches et des étiquettes avec un seul "git push" invocation"
Un conseil pratique venait d'être publié à l' Git liste de diffusion par Zoltán Füzesi:
J'utilise
.git/config
pour résoudre ce problème:
[remote "origin"]
url = ...
fetch = +refs/heads/*:refs/remotes/origin/*
push = +refs/heads/*
push = +refs/tags/*
Avec ces lignes ajoutées
git push origin
de charger tous vos branches et de tags. Si vous voulez télécharger seulement certains d'entre eux, vous pouvez les énumérer.N'ai pas essayé moi-même encore, mais on dirait qu'il pourrait être utile jusqu'à ce qu'une autre façon de pousser les branches et les tags dans le même temps est ajouté à la commande git push.
D'autre part, je ne me dérange pas de taper:
$ git push && git push --tags
Méfiez-vous, comme commenté par Aseem Kishore
push = +refs/heads/*
sera force de pousse toutes vos succursales.
Ce bit moi tout à l'heure, donc, pour info.