Ramificações e tags de liberação de fluxo Git - com ou sem prefixo “v”

119

Eu vi várias definições contraditórias em vários sites relacionados ao fluxo git. Existe uma recomendação oficial ou fonte única de verdade?

Ramos: release-1.2.3ourelease-v1.2.3

Tags: 1.2.3ouv1.2.3

Friederbluemle
fonte
Consulte também stackoverflow.com/questions/2006265/…
Raedwald

Respostas:

101

Bem, basicamente é uma questão de preferência, mas eu prefiro a versão com o v, já que Semver faz dessa forma e tento seguir essa especificação o mais perto possível para obter um versionamento lógico.

Também torna a filtragem para esses tags mais fácil, já que você pode pressionar ve, em seguida, a TABtecla para autocompletar: Isso irá listar todas as tags (e talvez alguns ramos), embora haja vários dígitos com os quais uma tag pode começar.


Consulte também: Existe uma convenção de nomenclatura padrão para tags git?

TimWolla
fonte
2
Obrigado, isso faz sentido. Acho interessante ver que o projeto Git Flow em si não usa os prefixos v: github.com/nvie/gitflow. Pelas razões que você e @VonC postaram, ainda prefiro tags de versão que incluem o prefixo v.
friederbluemle
49
Semver removeu o v prefixado na versão 2.
schmijos
9
@schmijos @LeoTM - O documento afirma apenas que a v1.2.3 não é uma versão semântica. A pergunta era sobre tags Git. Na verdade, o semver repo ainda usa v2.0.0como tag para a versão 2: github.com/mojombo/semver/releases/tag/v2.0.0
friederbluemle
1
semver 2.0 semver.org não afirma nada sobre as tags necessárias para começar com um prefixo "v"!
jankal
30

Como v significa versão, as tags geralmente são nomeadas vX.YZ, com XYZ seguindo a versão semântica 2.0.0 .

Isso permite que os branches XYZ coexistam com essas tags, sem ter que lidar com mensagens de erro como "fatal: nome de objeto ambíguo" (como em " Nomes ambíguos com GIT? ").

Observe que as tags do próprio Git foram recentemente "adaptadas" por um motivo surpreendente: consulte "Regras" de alteração de versão de código ".

VonC
fonte
1
Quando as pessoas estão usando as melhores práticas como o semver , provavelmente usam um sistema como o Git Flow ou algo semelhante. Isso evitaria o conflito de refs (nome da tag de eq do ramo). Fora isso, o que impediria alguém de nomear um galho vX.Y.Zentão? Isso não é muito um argumento :)
Kaiser
3
semver 2.0 semver.org não afirma nada sobre as tags necessárias para começar com um prefixo "v"!
jankal
@jankal eu concordo. Eu só mencionei o semver para a política XYZ.
VonC
Um argumento menor é que mais pessoas receberão do v1.2.3que b1.2.3:-)
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
3

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

“V1.2.3” é uma versão semântica? Não, “v1.2.3” não é uma versão semântica. No entanto, prefixar uma versão semântica com um “v” é uma forma comum (em inglês) de indicar que é um número de versão. Abreviar “versão” como “v” costuma ser visto no controle de versão. Exemplo: git tag v1.2.3 -m "Versão de lançamento 1.2.3", caso em que “v1.2.3” é um nome de tag e a versão semântica é “1.2.3”.

Cais
fonte