项目开发过程中版本号的控制极为重要,经常见到的版本号诸如1.2.3或1.2.3.456,那么如何比较好地定义版本以及进行版本控制呢?

针对新手推荐一个语义化版本控制的解决方案。语义化版本控制的规范是由Gravatars创办者兼GitHub共同创办者Tom Preston-Werner所建立,目前GitHub上的项目都推荐使用这种方案。

核心结构是这样的:主版本号.次版本号.修订号,版本号增加的规则如下:

  1. 主版本号:当你做了不兼容的API修改
  2. 次版本号:当你做了向下兼容的功能性新增
  3. 修订号:当你做了向下兼容的问题修正

详细文档看这里。

.NET开发过程中看到微软推荐的方式是:主版本.次版本.内部版本号.修订号。所以一般主版本和次版本的要求是一样的,其余的大同小异,所以这个东西并不是死的,只要能比较好的控制好版本即可。