Ветви и теги выпуска Git Flow - с префиксом «v» или без него

119

Я видел несколько противоречащих друг другу определений на различных сайтах, связанных с git flow. Есть ли официальная рекомендация или единственный источник правды?

Филиалы: release-1.2.3илиrelease-v1.2.3

Теги: 1.2.3илиv1.2.3

friederbluemle
источник
См. Также stackoverflow.com/questions/2006265/…
Raedwald

Ответы:

101

Что ж, в основном это вопрос предпочтений, но я предпочитаю версию с v, как Semver делает это таким образом, и я стараюсь следовать этой спецификации как можно точнее, чтобы получить разумное управление версиями.

Это также упрощает фильтрацию для этих тегов, так как вы можете нажать, vа затем - TABклавишу для автозаполнения: это перечислит все теги (и, возможно, несколько веток), тогда как тег может начинаться с нескольких цифр.


См. Также: Существует ли стандартное соглашение об именах для тегов git?

TimWolla
источник
2
Спасибо, в этом есть смысл. Я думаю, что интересно увидеть, что сам проект Git Flow не использует префиксы v: github.com/nvie/gitflow По причинам, опубликованным вами и @VonC, я по-прежнему предпочитаю теги версии, которые включают префикс v.
Friederbluemle
49
Semver удалила Префиксальный V в версии 2.
schmijos
9
@schmijos @LeoTM - в документе указано только, что v1.2.3 не является семантической версией. Вопрос касался тегов Git. Фактически, репозиторий semver по-прежнему используется v2.0.0в качестве тега для версии 2: github.com/mojombo/semver/releases/tag/v2.0.0
Friederbluemle
1
semver 2.0 semver.org ничего не говорится о тегах, которые должны начинаться с префикса "v"!
jankal
30

Поскольку v означает версию, теги обычно называются vX.YZ, а XYZ соответствует семантическому управлению версиями 2.0.0 .

Это позволяет ветвям XYZ сосуществовать с этими тегами без необходимости иметь дело с сообщением об ошибке типа «фатальный: неоднозначное имя объекта» (например, « неоднозначные имена с GIT? »).

Обратите внимание, что теги для самого Git недавно были «адаптированы» по удивительной причине: см. «Правила изменения версии кода» ».

VonC
источник
1
Когда люди используют лучшие практики, такие как semver , они, вероятно, используют такую ​​систему, как Git Flow или что-то подобное. Это предотвратило бы это столкновение ссылок (имя тега eq ветки). Кроме того, что тогда удерживало бы от наименования ветки vX.Y.Z? Это не такой уж и большой аргумент :)
kaiser
3
semver 2.0 semver.org ничего не говорится о тегах, которые должны начинаться с префикса "v"!
jankal
@jankal Согласен. Я упомянул semver только для политики XYZ.
VonC
Один незначительный аргумент в том, что больше людей получат, v1.2.3чем b1.2.3:-)
Чиро Сантилли 郝海东 冠状 病 六四 事件 法轮功
3

https://semver.org/#is-v123-a-semantic-version

Является ли «v1.2.3» семантической версией? Нет, «v1.2.3» не является семантической версией. Тем не менее, префикс семантической версии с буквой «v» - это распространенный способ (на английском языке) указать, что это номер версии. Сокращение «версия» как «v» часто встречается при управлении версиями. Пример: git tag v1.2.3 -m «Выпуск версии 1.2.3», в этом случае «v1.2.3» - это имя тега, а семантическая версия - «1.2.3».

пирс
источник