208 votes

Git tags obtenir poussés aussi bien ?

Puisque j’ai créé mon référentiel, il semble que les tags, que j’ai été la création ne sont pas poussés au référentiel. Quand je fais des tag git sur le répertoire local toutes les balises sont présentes, mais quand j’ai connecter au référentiel distant et faire un tag de git, seulement les premières apparaissent.

Quel pourrait être le problème ?

268voto

eevar Points 1005

Vous pourriez faire ceci :

150voto

Jakub Narębski Points 87537

À défaut, git remote configuration, vous devez pousser les balises explicitement (alors qu'ils sont récupérés automatiquement avec commet ils point). Vous avez besoin d'utiliser

$ git push <remote> tag <tagname>

pour pousser un tag unique, ou

$ git push <remote> --tags

pour pousser toutes les balises.

C'est très bien pour but de comportement, de faire pousser des balises explicites. En poussant, les étiquettes devraient être généralement un choix conscient.


Sinon, vous pouvez configurer la télécommande vous pousser à toujours pousser toutes les balises, par exemple, quelque chose comme ça dans votre .git/config:

[remote "publier"] # ou quoi que ce soit nommée
 url = ...
 push = +refs/heads/*:refs/heads/*
 push = +refs/tags/*:refs/tags/*

Cela signifie que la force de pousser tous les chefs (toutes les branches) et toutes les balises (si vous ne voulez pas force de poussée de têtes, de supprimer les '+' préfixe de refspec).

75voto

VonC Points 414372

A noter que 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.


Cela a été introduit en commettre c2aba15 par Junio C Hamano (gitster):

La nouvelle option "--follow-tags" raconte "git push" pousser annoté des balises qui sont absents de l'autre côté et qui peut être atteint par l'histoire qui est par ailleurs poussé hors.

Par exemple, si vous utilisez le "simple", "current"ou "upstream" push, vous devez normalement pousser l'histoire menant à la validation de votre HEAD et rien d'autre.
Avec cette option, vous devez également pousser tous annoté balises qui peut être atteint à partir que s'engager de l'autre côté.

20voto

mat Points 5365

Ce que je fais habituellement est :

 [télécommande « publier »] # ou tout ce qu’il se nomme url =... Poussée = : push = + refs/tags / * : refs/tags / * 

Ce qui signifie il pousse tout sarment qui est déjà là, plus de tags. Il n’impose pas de pousser, et il ne pousse pas la branche qui vous n’a pas pousser manuellement.

5voto

boryn Points 81

Et si vous voulez forcer la récupération de toutes les balises, vous pouvez le configurer dans le fichier de configuration par:

git config remote.origin.tagopt --tags

À partir de la documentation:

La définition de cette valeur de l'option --no-tags désactive automatique de balises suivantes lors de l'extraction à partir de la télécommande . Le paramètre --tags va chercher chaque balise de distance , même si elles ne sont pas accessibles à partir de succursale à distance les têtes. Le passage de ces drapeaux directement à git-fetch(1) peut remplacer cette le réglage. Voir les options --tags et --no-balises de git-fetch(1).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X