Версированы ли теги и ветки Git? - PullRequest
0 голосов
/ 16 февраля 2012

Subversion представлена ​​тегами и ветвями в хранилище, что позволяет вам манипулировать ими и создавать версии. Это было полезным свойством для долгоживущих репозиториев, так как вы можете повторно использовать тег или имя ветки. Вы можете удалить ветку и воссоздать ее, и если вы хотите увидеть старую, вы просто извлекли старую версию хранилища. С Git кажется, что после того, как вы удалите его, все, что у вас осталось, - это хеш, а не запись, в которой раньше был тег или ветвь с некоторым именем, указывающим на него. Это правильно?

Ответы [ 2 ]

3 голосов
/ 16 февраля 2012

Нет, теги и ветки Git не имеют версий.Оба являются просто указателями на коммиты.В отличие от Hg, где теги отслеживаются в файле рабочего дерева (.hgtags), в Git они хранятся в админском каталоге (каталог .git).

0 голосов
/ 16 февраля 2012

Короткий ответ: ни теги, ни ветви не являются версионными. Однако вы должны прочитать раздел " On Re-Tagging " на странице руководства git tag.

Если вы измените тег, который уже был обнародован, это вызовет проблемы, так как git не изменит тег из-под пользователя. Например:

  1. Боб создает тег v1.0
  2. Алиса вытаскивает метку из Боба
  3. Боб переводит тег для v1.0 в другой коммит
  4. В следующий раз, когда Алиса заберет у Боба, она не получит измененный тег!

Если Алиса действительно нуждается в новом теге, она должна:

  1. git tag -d v1.0
  2. Снова вытащите метку у Боба
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...