J'ai cloné un référentiel Git distant sur mon ordinateur portable, puis je voulais ajouter une balise alors j'ai couru
git tag mytag master
Lorsque je cours git tag
sur mon ordinateur portable, la balise mytag
s'affiche. Je veux ensuite pousser cela vers le référentiel distant, donc j'ai cette balise sur tous mes clients, alors je lance git push
mais j'ai reçu le message:
tout est à jour
Et si je vais sur mon bureau et que je cours git pull
, git tag
aucune balise ne s'affiche.
J'ai également essayé de faire une modification mineure sur un fichier du projet, puis de le pousser sur le serveur. Après cela, je pouvais tirer la modification du serveur vers mon ordinateur de bureau, mais il n'y a toujours pas de balise lors de l'exécution git tag
sur mon ordinateur de bureau.
Comment puis-je pousser ma balise vers le référentiel distant pour que tous les ordinateurs clients puissent la voir?
git push origin --tags
ça marche .Pour envoyer une seule balise:
Et la commande suivante devrait pousser toutes les balises ( non recommandé ):
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 de pousser les vieilles mauvaises balises qu'ils ont localement chaque fois qu'ils le souhaitent pour pousser une nouvelle balise. Pour cette raison, je ne conseillerai qu'à tout le monde d'utiliser quelqu'ungit push origin <tag_name>
maintenant.git push origin <tag_name> --force
git push
échoue avecerror: src refspec <tag_name> matches more than one.
, vous pouvez la pousser commegit push origin tag <tag_name>
git push origin <tag_name>
une bien meilleure réponse à cette question. ;)Pour pousser spécifique, une balise suit
git push origin tag_name
la source
Pour développer la réponse de Trevor , vous pouvez pousser une seule balise ou toutes vos balises à la fois.
Poussez une seule balise
Ceci est un résumé de la documentation pertinente qui explique cela (certaines options de commande omises par souci de concision):
Poussez tous vos tags à la fois
Voici un résumé de la documentation pertinente (certaines options de commande omises par souci de concision):
la source
tag
. par exemplegit push origin tag funny-tag-1
.git push origin my-tag
(je viens de l'essayer!)2.10.2
. C'est peut-être ça?Les balises ne sont pas envoyées au référentiel distant par la commande git push. Nous devons envoyer explicitement ces balises au serveur distant en utilisant la commande suivante:
Nous pouvons pousser toutes les balises à la fois en utilisant la commande ci-dessous:
Voici quelques ressources pour des détails complets sur le balisage git:
http://www.cubearticle.com/articles/more/git/git-tag
http://wptheming.com/2011/04/add-remove-github-tags
la source
Vous pouvez pousser toutes les balises locales par simple
git push --tags
commande.la source
Vous pouvez pousser les balises comme ceci
git push --tags
la source
J'utilise
git push <remote-name> tag <tag-name>
pour m'assurer que je pousse une balise. Je l' utilise comme:git push origin tag v1.0.1
. Ce modèle est basé sur la documentation (man git-push
):la source