Depuis que j'ai créé mon référentiel, il semble que les balises que j'ai créées ne soient pas transmises au référentiel. Lorsque je le fais git tag
sur le répertoire local, toutes les balises sont présentes, mais lorsque je me connecte au référentiel distant et que je fais une git tag
, seules les premières apparaissent.
Quel pourrait être le problème?.
git push --follow-tags
peut maintenant être utile, voir ma réponse ciRéponses:
Vous pouvez faire ceci:
la source
git push --tags
car il peut être très très difficile de se débarrasser des mauvaises balises lorsque vos collègues sont formés pour pousser toutes les balises, car les gens continuent à pousser les anciennes balises erronées qu'ils ont localement chaque fois qu'ils voulez pousser une nouvelle balise. Pour cette raison, je ne conseillerai à personne de l'utilisergit push origin <tag_name>
maintenant. " - copié de stackoverflow.com/a/5195913/4130619Dans la configuration distante par défaut de git, vous devez pousser les balises explicitement (alors qu'elles sont récupérées automatiquement avec les commits vers lesquelles elles pointent). Vous devez utiliser
pour pousser une seule balise, ou
pour pousser toutes les balises (ou
git push --tags
pour pousser vers la télécommande par défaut, généralementorigin
).C'est un comportement très intentionnel, pour rendre explicite les balises push. Pousser des balises doit généralement être un choix conscient.
Résumer ce que Junio C. Hamano a écrit (lié dans les commentaires de @Andre Miras)
C'est pourquoi il
git fetch
"suit" automatiquement les balises, c'est-à-dire qu'il télécharge les balises lors du téléchargement des révisions vers lesquelles elles pointent - en d'autres termes télécharge toutes les balises publiées pertinentes .C'est pourquoi vous devez pousser la balise explicitement, pour la marquer comme publique.
Vous pouvez également configurer la télécommande vers laquelle vous poussez pour toujours pousser toutes les balises, par exemple, mettez quelque chose comme ça dans votre
.git/config
:Cela signifie forcer toutes les têtes (toutes les branches) et toutes les balises (si vous ne voulez pas forcer la poussée des têtes, supprimez le préfixe «+» de refspec).
la source
Notez que depuis git 1.8.3 (22 avril 2013) , vous n'avez plus à faire 2 commandes pour pousser les branches, puis pour pousser les balises:
Vous pouvez maintenant essayer, lorsque vous envoyez de nouveaux commits:
Cependant, cela ne poussera pas toutes les balises locales, seulement celles annotées référencées par des commits qui sont poussées avec l'extension
git push
.Ceci a été introduit dans le commit c2aba15 par Junio C Hamano (
gitster
) :La config
push.followTags
permet d'inclure--follow-tags
par défaut (Git 2.4.1+, Q2 2015). Voir " Push git commits & tags simultanément "la source
git push --follow-tags
ne pousse pas plus quegit push
Ce que je fais habituellement, c'est:
Cela signifie qu'il pousse toutes les branches déjà présentes, plus les balises. Il ne force pas la poussée et ne pousse pas la branche que vous n'avez pas poussée manuellement.
la source
Et si vous voulez forcer la récupération de toutes les balises, vous pouvez le définir dans la configuration par:
À partir de la documentation:
la source