J'ai quelques balises sur mon référentiel "Origin". Ensuite, j'ai réalisé que je devais ajouter des modifications sur l'une des balises et les repousser dans mon référentiel. Existe-t-il un moyen de pousser une balise existante vers le référentiel en une seule fois, ou dois-je supprimer la balise avant?
Cela ne devrait pas être la pratique, bien que vous puissiez supprimer la balise et pousser la modification vers le référentiel distant.
git tag -d tag1
git Push Origin :refs/tags/tag1
Donc, si vous devez déplacer une balise (par exemple: "v0.5" ) sur une branche git (par exemple: "master" ) vers un autre commit, probablement un plus récent, alors vous pouvez utiliser le -f
option pour git tag
:
-f
--force
Replace an existing tag with the given name (instead of failing)
Vous souhaitez probablement utiliser -f
en conjonction avec -a
pour forcer la création d'une balise annotée au lieu d'une balise non annotée.
Supprimez la balise sur n'importe quelle télécommande avant de pousser
git Push Origin :refs/tags/<tagname>
ou pour notre exemple:
$ git Push Origin master :refs/tags/v0.5
To [email protected]:org_name/repo_name.git
- [deleted] v0.5
Remplacez la balise pour référencer le commit le plus récent (en utilisant -f, vous enregistrerez comme git tag -d <tagname>
étape de suppression de balise locale).
git tag -fa <tagname>
ou pour notre exemple:
$ git tag -fa "v0.5" -m "version 0.5"
Updated tag 'v0.5' (was f55c93f)
Poussez l'étiquette vers l'origine distante
git Push Origin --tags
ou pour notre exemple:
$ git Push Origin master --tags
Counting objects: 1, done.
Writing objects: 100% (1/1), 196 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To [email protected]:org_name/repo_name.git
* [new tag] v0.5 -> v0.5
Je ne suis pas sûr de comprendre votre question, mais il semble que ce serait plus simple de supprimer la balise, de pousser votre modification, puis de rajouter la balise ...