使用SemVer进行版本控制

时间:2014-11-05 14:41:02

标签: versioning semantic-versioning

我需要一些SemVer版本的帮助/建议。

我在一个客户的网站上工作,他在一个word文档中向他的网站发送了大量和小的几个相关修正(就像他们一直这样)。

我有一个基于我的主分支的分支用于这些新的修正,并且已经为我到目前为止完成的每个修改创建了提交。

我的想法是,我会完成所有的修正,然后在下一个版本(v2.0.0)中发布它们,因为我认为所有这些变化都是相关的,所有这些变化相结合都非常重要,足以保证版本的颠覆号。

我遇到的问题是客户希望在2.0.0版本发布之前立即生成一些这样的修改,那么处理这个问题的最佳方法是什么 - 我会将这几个完成的修改上传到现有版本并增加次要编号,或者我会将其提升到2.0.0,即使所有修正都没有完成?

在版本控制方面,我有点像菜鸟,但我正在努力通过阅读和尝试理解语义版本控制网站来学习。

2 个答案:

答案 0 :(得分:2)

你应该总是考虑这两件事:

  1. 真正的变化是什么?如果没有可见的更改,和/或下面没有重大更改,最好避免增加主版本号。

  2. 客户应该了解您的更改?说版本1.1或版本2.0可能会对更改的感知方式产生一些影响。

  3. 因此,如果修改是有限的和/或没有可见的事情已经发生变化,那么仅增加次要部分然后等待所有部分完成以将其提升到2.0.0可能是有意义的。

答案 1 :(得分:0)

我建议暂时停止考虑版本并专注于分支管理。您可以从this "go-to" document on branching开始。

如果我是你,我会

  1. 将当前为该客户端部署的任何内容分支出来。假设这个分支名为“client-acme-corp”。
  2. Cherry-选择客户端现在需要从您创建的任何分支部署的更改。
  3. 将第1步的分支重新发送到客户端。
  4. 继续努力推出新版本。
  5. 完成该版本后,将“client-acme-corp”重新绑定到您的开发分支。

    Git非常聪明,所以当他们引入包含新版本的分支所带来的相同文本更改时,您选择的 不应该引起问题。 如果您不想这样做,只需在使用重新定位脚本时删除这些提交。

  6. 将更新的分支重新部署到客户端。