###发布新分支

  • 可能的分支来源:develop
  • 必须合并回:develop和master
  • 分支命名约定:release-xx (xx为发布代号)

发布分支为准备新的产品版本发布做支持。它允许你在最后时刻检查所有的细节。此外,它还允许你修复小bug以及准备版本发布的元数据(例如版本号,构建日期等等)。在发布分支做这些事情之后,develop分支就会显得比较干净,也方便为下一大版本发布接受特性。

从develop分支创建发布分支的时间通常是develop分支(差不多)能反映新版本所期望状态的时候。至少说,这是时候版本发布所计划的特性都已经合并回了develop分支。而未来其它版本发布计划的特性则不应该合并,它们必须等到当前的版本分支创建好之后才能合并。

正是在发布分支创建的时候,对应的版本发布才获得一个版本号。在该时刻之前,develop分支反映的是“下一版本”的相关变更,但不知道这“下一版本”到底会成为0.3还是1.0,直到发布分支被创建。版本号是在发布分支创建时,基于项目版本号规则确定的。

###创建一个发布分支

发布分支从develop分支创建。例如,我们即将发布一个新版本。develop分支的状态已经是准备好“新版本”发布的状态,我们也决定下个版本是0.1.0(而不是1.1.0或者2.0)。因此我们创建发布分支,并且为其赋予一个能体现新版本号的名称,操作命令如下:

git flow release start v0.1.0

这里会创建一个名为’release/v1.0.1’的新分支,接下来我们要做的是修一下bug,提升一下版本号,新的发布分支可能存在一段时间,直到该版本明确对外交付。这段时间内,该分支上可能会有一些bug的修复(而不是在develop分支上)。在该分支上添加新特性是严格禁止的。新特性必须合并到develop分支,然后等待下一个版本发布。执行以下指令进行发布操作。

git flow release finish v0.1.0

这里会依次切换到master和develop下合并该release分支merge的修改,同时让你为这次发布打上tag。

###tag操作 tag主要是创建有签名,无签名、轻量级标签来永久的标记项目历史中的关键点

git tag  可以列出当前项目中所有的标签

git tag -a v0.1.0 -m 'version 0.1.0' 创建带注释的标签

git show v0.1.0 查看某个标签的信息

默认情况下,’git push’命令不会将标签上传到远程服务器上。为了共享这些标签,你必须在’git push’命令后明确添加-tags,即 git push –tags

git reset v0.1.0 回退到标签的版本