git: Аннотированный тег хуже тега с плохой аннотацией? - PullRequest
15 голосов
/ 18 февраля 2010

В каждом учебнике git, к которому вы обращаетесь, есть четкое мнение о тегах: всегда следует использовать аннотированные теги, одной из причин является то, что они используются git describe.

Однако я не вижу ничего плохого в использовании git describe --tags, который также принимает аннотированные теги в качестве ориентира. Есть ли что-то еще, что считается плохим в аннотированных тегах?

Я спрашиваю, потому что я только что закончил преобразование проекта SVN в git. На самом деле я думал о том, чтобы снабдить теги аннотацией, но что я должен поместить туда, если не тревожно избыточное сообщение «Tagging Release 1.5 для нашего проекта» (которое уже использовалось в качестве комментария SVN)?

Аннотированные теги кажутся мне приятной вещью (вы можете пометить вещи как другого автора и дать краткое описание), но следует ли вам действительно использовать их даже в тех случаях, когда вам нечего сказать, кроме исходное сообщение о коммите?

или

В каких ситуациях аннотированные теги не осуждаются?

Редактировать : Я не говорю о подписанных аннотированных тегах (я понимаю преимущество наличия подписанных тегов в некоторых ситуациях); Меня беспокоит только разница между аннотированным и аннотированным без аннотации.

Редактировать 2 : добавление еще одного вопроса, чтобы немного расширить сферу и, возможно, получить несколько проницательных ответов о реальных лучших практиках

Когда вы используете аннотированные теги, и вам не нравится, когда вы это делаете?

Ответы [ 2 ]

4 голосов

man git-tag говорит:

Аннотированные теги предназначены для выпуска, в то время как легкие теги предназначены для меток частных или временных объектов.

Так что в основном не нажимайтеОблегченные теги.

Если учесть это, все варианты дизайна поведения имеют смысл:

  • аннотированные теги могут содержать сообщение, создателя и дату, отличные от коммита, на который они указываютк.Таким образом, вы можете использовать их для описания релиза, не делая фиксацию релиза.

    Легкие теги не имеют такой дополнительной информации и не нуждаются в ней, поскольку вы собираетесь использовать ее только для разработки.

  • git push --follow-tags будет использовать только аннотированные теги, чтобы не публиковать ваши локальные теги.

  • git describe отвечает на вопрос: «к какому выпуску относится этот коммит?», Что является распространенным случаем.

См. Также:

4 голосов
/ 18 февраля 2010

Аннотированный тег на самом деле является объектом тега. Он имеет автора, описание, метку времени и указывает на коммит.

Облегченный тег указывает на коммит и не содержит никакой другой информации. Это имеет больше общего с ветвлением, чем с тегами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...