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?
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
Cliquez sur votre projet Access
, ajoutez les autorisations suivantes:
Reference:
refs/tags/*
Push Annotated Tag
Push Signed Tag
Tag annoté: git tag -a "message" tag_name
Tag signé: git tag -s tag_name
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
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.
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.