web-dev-qa-db-fra.com

Remplacer la balise distante par Git

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?

31
azmeuk

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
47
Bijendra

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.

Exemple

  1. 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
    
  2. 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)
    
  3. 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
    
3
Exequiel Barrirero

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 ...

2
CDub