2010-02-18 4 views
15

Chaque tutoriel git que vous regardez a une opinion claire sur les balises: Il faut toujours utiliser des balises annotées, une des raisons étant qu'elles sont utilisées par git describe.git: Une balise non annotée est-elle pire qu'une balise avec une mauvaise annotation?

Cependant, je ne vois rien de mal à utiliser git describe --tags qui prend également les balises non annotées comme point de référence. Y at-il autre chose qui est considéré comme mauvais sur les étiquettes non annotées?

Je demande parce que je viens de terminer la conversion d'un projet SVN à git. Je pensais en fait à fournir une annotation aux balises, mais que devrais-je y mettre sinon un message redondant "Tagging release 1.5 for our project" (qui avait déjà été utilisé comme un commentaire SVN)?

Les étiquettes annotées me semblent être une bonne chose (vous pouvez étiqueter les choses comme un auteur différent et vous donner une courte description), mais devriez-vous vraiment les utiliser même si vous n'avez rien à dire à partir du message de validation d'origine?

ou

Dans quelles situations sont des balises annotées pas désapprouvé?

Édition: Je ne parle pas de balises annotées et signées (je comprends l'avantage d'avoir des balises signées dans certaines situations); Je suis seulement préoccupé par la différence entre non annoté et non signé annoté.

Modifier 2: Adjonction autre question d'élargir la portée un peu et peut-être obtenir des réponses pertinentes sur la vie réelle best-bractices

Quand est-ce vous utiliser des balises annotées et vous sentez-vous mal à propos quand tu fais ça?

+2

Voir http://stackoverflow.com/questions/4971746/why-should-i-care-about-lightweight -vs-annotated-tags – dubek

+0

Copie possible de [Quelle est la différence entre un tag annoté et non annoté?] (https://stackoverflow.com/questions/11514075/what-is-the-difference-between-an-annotated- et toi nannotated-tag) –

Répondre

4

Une étiquette annotée est en réalité un objet étiquette. Il a un auteur, une description, un horodatage et pointe vers un commit.

Une balise légère pointe vers une validation et ne contient aucune autre information. Cela a plus de points communs avec le branchement qu'avec le marquage.

+0

True. Mais ma question n'est pas ce que les balises annotées * sont *. Je me demande si je devrais les utiliser même si la description et l'auteur sont redondants. – Debilski

+3

Je ne crois pas que la description et l'auteur sont redondants. La personne qui étiquette une version n'est pas nécessairement la personne qui a écrit le code (qui n'est pas nécessairement la personne qui a commis le code). Je n'ai jamais trouvé un bon usage pour les étiquettes légères, moi-même. – Dustin

3

man git-tag dit:

balises annotées sont destinés à la libération tandis que les étiquettes légères sont destinés à des étiquettes des objets privés ou temporaires.

Donc, fondamentalement, ne poussez pas les étiquettes légères.

Quand vous considérez cela, tous les choix de conception du comportement de sens:

  • balises annotées peuvent contenir un message, le créateur et la date différente de celle qu'ils engagent pointent. Vous pouvez donc les utiliser pour décrire une version sans valider la version.

    Les étiquettes légères n'ont pas cette information supplémentaire, et n'en ont pas besoin, puisque vous allez seulement l'utiliser vous-même pour développer.

  • git push --follow-tags ne fera que pousser les balises annotées, afin de ne pas publier vos balises locales.

  • git describe répond à la question: "à quelle version appartient ce commit?", Ce qui est un cas d'utilisation courant.

Voir aussi:

Questions connexes