web-dev-qa-db-fra.com

Pensez à une balise

J'ai une branche appelée v2.0 dans gerrit. Maintenant, je veux que la statistique actuelle de cette branche soit v2.0.1.

Dans mon référentiel local, j'ai extrait la branche, puis ajouté la balise à l'aide de

git tag v2.0.1

Maintenant, j'essaie de pousser cela à la recherche, mais je ne sais pas comment. J'ai essayé ceci:

$ git Push Origin v2.0.1 HEAD:refs/heads/v2.0
! [remote rejected] v2.0.1 -> v2.0 (prohibited by Gerrit)

Comment puis-je pousser le tag à gerrit?

15
Frank

Après quelques recherches sur Google, j'ai trouvé la réponse:

gerrit accepte uniquement les balises annotées. C'est assez simple de créer et de pousser une balise annotée:

git checkout v2.0
git tag -am "Adding v2.0.1 tag" v2.0.1
git Push Origin v2.0.1 HEAD:refs/heads/v2.0
18
Frank
  1. Ajoutez les autorisations:

Cliquez sur votre projet Access, ajoutez les autorisations suivantes:

Reference:  
refs/tags/*

Push Annotated Tag 
Push Signed Tag 
  1. Ajoutez vos tags

Tag annoté: git tag -a "message" tag_name

Tag signé: git tag -s tag_name

  1. Poussez vos tags

cmd simple: git Push --tags

Si vous souhaitez récupérer les tags de votre référentiel de serveur à l'aide de cmd:

git fetch --tags

Vous pouvez consulter le doc:

https://review.typo3.org/Documentation/access-control.html#category_Push_annotatedhttps://review.typo3.org/Documentation/access-control.html#category_Push_sush

8
lijinma

Les balises et les branches sont des concepts complètement indépendants dans Git, votre commande n'a donc aucun sens. Une balise renvoie uniquement à un commit et s'étend à l'ensemble du référentiel. 

Les balises et les branches sont des références, pensez aux balises en tant que références fixes à un commit, et aux branches en tant que références mobiles sur le sommet d'une branche de commits.

Si le commit tagged v2.0.1 est déjà dans la branche v2.0, je dirais que vous devez uniquement pousser les deux vers Origin. Sinon, vous voudrez peut-être fusionner la branche contenant la balise dans la branche v2.0 et pousser les deux.

4
CharlesB

Si vous transmettez une balise légère, vous devez ajouter le privilège «Créer une référence» pour le nom de référence refs/tags/* car, comme l'a dit CharlesB, les balises et les branches sont des références. 

Après avoir ajouté le droit "Créer une référence", vous pouvez utiliser git Push --tags pour pousser les balises légères.

1
herbertD