git-flow:如何处理从更改到已发布分支的版本号
git-flow: how to handle version numbers from changes to released branch
我是 git 的新手,我工作的公司正在从颠覆转向 git。
我们正在考虑使用 git-flow 工作流,并且对它的工作方式相当满意。但是,我有一个关于发布分支的 "point" 发布的问题。让我解释一下我的意思。
我们决定创建一个版本,所以我们创建一个新的版本分支,比如 1.0。我们继续开发 "develop" 分支,添加新的功能分支等。
1.0 版本发布给我们的测试团队,他们发现了它的问题。据我了解,这些问题应该在发布分支 1.0 上修复,然后在测试完成后,所有更改都从发布 1.0 分支合并到 master 和 develop,并在 master 上标记为正式发布。
希望我没听错。
现在,在版本 1.0 的测试期间,我们可能需要向测试团队提供一个新的点版本,即 1.1,其中包括我们为解决他们的问题所做的更改。我们需要将其称为 1.1 以实现可追溯性,这样我们就可以确保他们实际测试的是 1.1。然而,git-flow 似乎表明这应该是一个单独的发布分支,即 1.1.
我想我要问的问题是如何将发布分支 "mark" 作为 1.1,即使它被称为 1.0。
鉴于我们以前只使用过 svn,我准备接受我可能会错误地提出这个问题,并且欢迎提供任何澄清。
您对版本号有误解。当你想发布 v1.0 时,总是只有一个版本 1.0,这是推送给 master 的最终版本,并带有自己的版本标签。
怎么去? (使用 git 流程帮助脚本)
- 开发候选版本。
- 从
develop
分支到 release/vx.x
。 (git flow release start [release]
)
- 发布 rc:
git flow release publish [release]
- 做你的测试。其他所有开发人员现在都可以像往常一样跟踪发布分支。每个更改都将直接对
release/vx.x
进行(并合并回 develop
以便在下一个版本中继续工作)。不要从 release/vx.x
分支出来进行任何更改。此版本保留其编号直至其死亡。
- 当您准备好测试和调试时,就是诞生的时候了:给
release/vx.x
上的最后(完成)提交一个版本标签并将其合并到 master (git flow release finish [release]
)
- 使用标签推送:
git push --tags
所以简而言之,一个版本拥有一个数字,而且只有一个。错误修复发生在这个数字上 before 给它一个标签(本质上是渲染一个 rc 发布版本)但是 after 创建编号分支。
此版本的修补程序,发生在 版本之后,将被推送到一个修补程序分支,并在以相同方式测试后合并到主分支和开发分支。
您始终可以手动完成这一切,但可以使用 git 流程帮助脚本。这些可以作为 Windows 安装程序或在几乎每个 Linux 发行版的默认存储库中使用。查看 git 流存储库 here。
如需进一步参考,请参阅 git flow cheat sheet, a good documentation by Atlassian and this awesome graphic。
我是 git 的新手,我工作的公司正在从颠覆转向 git。 我们正在考虑使用 git-flow 工作流,并且对它的工作方式相当满意。但是,我有一个关于发布分支的 "point" 发布的问题。让我解释一下我的意思。
我们决定创建一个版本,所以我们创建一个新的版本分支,比如 1.0。我们继续开发 "develop" 分支,添加新的功能分支等。 1.0 版本发布给我们的测试团队,他们发现了它的问题。据我了解,这些问题应该在发布分支 1.0 上修复,然后在测试完成后,所有更改都从发布 1.0 分支合并到 master 和 develop,并在 master 上标记为正式发布。
希望我没听错。
现在,在版本 1.0 的测试期间,我们可能需要向测试团队提供一个新的点版本,即 1.1,其中包括我们为解决他们的问题所做的更改。我们需要将其称为 1.1 以实现可追溯性,这样我们就可以确保他们实际测试的是 1.1。然而,git-flow 似乎表明这应该是一个单独的发布分支,即 1.1.
我想我要问的问题是如何将发布分支 "mark" 作为 1.1,即使它被称为 1.0。
鉴于我们以前只使用过 svn,我准备接受我可能会错误地提出这个问题,并且欢迎提供任何澄清。
您对版本号有误解。当你想发布 v1.0 时,总是只有一个版本 1.0,这是推送给 master 的最终版本,并带有自己的版本标签。
怎么去? (使用 git 流程帮助脚本)
- 开发候选版本。
- 从
develop
分支到release/vx.x
。 (git flow release start [release]
) - 发布 rc:
git flow release publish [release]
- 做你的测试。其他所有开发人员现在都可以像往常一样跟踪发布分支。每个更改都将直接对
release/vx.x
进行(并合并回develop
以便在下一个版本中继续工作)。不要从release/vx.x
分支出来进行任何更改。此版本保留其编号直至其死亡。 - 当您准备好测试和调试时,就是诞生的时候了:给
release/vx.x
上的最后(完成)提交一个版本标签并将其合并到 master (git flow release finish [release]
) - 使用标签推送:
git push --tags
所以简而言之,一个版本拥有一个数字,而且只有一个。错误修复发生在这个数字上 before 给它一个标签(本质上是渲染一个 rc 发布版本)但是 after 创建编号分支。
此版本的修补程序,发生在 版本之后,将被推送到一个修补程序分支,并在以相同方式测试后合并到主分支和开发分支。
您始终可以手动完成这一切,但可以使用 git 流程帮助脚本。这些可以作为 Windows 安装程序或在几乎每个 Linux 发行版的默认存储库中使用。查看 git 流存储库 here。
如需进一步参考,请参阅 git flow cheat sheet, a good documentation by Atlassian and this awesome graphic。