我见过很多项目使用v1.2.3作为git中标记的命名约定。我还看到一些人使用1.2.3。是否有官方认可的风格,或者是否有充分的理由使用这两种风格?
当前回答
新的包管理器建议标记不带前缀v的版本(如PHP项目的composer)。 SemVer 2.0没有任何关于标记规范的内容。这是为了避免冲突而故意做的。但是,建议在文档和文本引用中添加前缀v。作为示例格式为v1.0.4,而不是完整版本1.0.4或版本。1.0.4的文档足够冗长和优雅。
其他回答
新的包管理器建议标记不带前缀v的版本(如PHP项目的composer)。 SemVer 2.0没有任何关于标记规范的内容。这是为了避免冲突而故意做的。但是,建议在文档和文本引用中添加前缀v。作为示例格式为v1.0.4,而不是完整版本1.0.4或版本。1.0.4的文档足够冗长和优雅。
据我所知,没有一个最佳实践。以下是一些链接:
http://web.elctech.com/?p=79 http://reinh.com/blog/2009/03/02/a-git-workflow-for-agile-teams.html#production-tagging
一般来说,版本控制(0.0.1,v0.2.1,…)可能会与一些问题跟踪一起被认为是一种合理的方法。(. .虽然我通常使用v前缀标记名称..参见@VonC answer)
我不知道有什么标准。我只是选择我的标记名称,这样我就可以粘贴
VERSION = `git describe --tags`
在我的构建脚本中。因此,标记命名约定实际上取决于项目的版本命名约定。
前面的“v”有历史原因。旧的SCCS (cvs、rcs)无法区分标记标识符和修订号。标记标识符被限制为不以数值开头,以便可以检测到修订号。
在实际发布之后,我们分别为特定于发布的工作使用分支和标记:
o---o-----o---o---o--- ... master
\ / /
\ / /
o-------o--- ... 1.6 branch
每个开发人员都会在心里做出决定,决定他们即将提交的工作是否只适用于master,或者是否也与分支相关。您可以看到,对分支所做的更改被合并回master上,但是master上的一些更改永远不会在分支上进行(也就是说,在本例中,这些更改不是针对1.6发行版的)。
当我们准备好发布时,我们标记它,然后最后一次合并回来,我们用与分支相同的名称命名标记,但是有一个关于它是什么特定版本的额外标识符,例如。“1.6-release”或“1.6-beta”或“1.6-rc2”等等。
... ------o---o---o--o---o--- ... master
/ /
/ /
... ---o------(*)--- ... 1.6 branch
1.6-release
推荐文章
- Visual Studio代码如何解决合并冲突与git?
- 无法推送到远程分支,无法解析到分支
- Git:如何将数据库重置为特定的提交?
- 如何在合并期间使用Git和命令行保存本地文件或远程文件?
- 能够用一个命令推到所有git遥控器?
- 重新基于Git合并提交
- 忽略已经签入目录的内容?
- 如何从windows cmd保存git提交消息?
- (Mac) -bash: __git_ps1:命令未找到
- 如何删除多个已删除的文件在Git仓库
- 使用vimdiff查看所有' git diff '
- 如何拉特定的目录与git
- 本地存储库中的文件与源文件之间的差异
- 将Git存储库内容移动到另一个存储库,保存历史记录
- 如何在GitHub上创建自己的存储库?