是否有什么指导方针或标准的最佳实践,如何在业余时间开发一个有趣的软件,但仍然会被一些人使用?我认为有必要对这样的软件进行版本化,这样你就可以知道第一版所谈论的内容(例如修复错误、支持等等)。
但是我从哪里开始版本控制呢?0.0.0吗?还是0.0 ?然后如何增加这些数字呢?主要版本。小改变?任何版本控制系统都不应该是另一个版本吗?或者这仅仅是用于生产方式的版本?
是否有什么指导方针或标准的最佳实践,如何在业余时间开发一个有趣的软件,但仍然会被一些人使用?我认为有必要对这样的软件进行版本化,这样你就可以知道第一版所谈论的内容(例如修复错误、支持等等)。
但是我从哪里开始版本控制呢?0.0.0吗?还是0.0 ?然后如何增加这些数字呢?主要版本。小改变?任何版本控制系统都不应该是另一个版本吗?或者这仅仅是用于生产方式的版本?
当前回答
我们用a.b.c.d
A -主要(在交付给客户端时增加) B -小调(交付客户时增加) C -修订(在内部版本上增加) D - build(随巡航控制增加)
其他回答
我会使用x.y.z类型的版本控制
X -主要释放 Y -轻微释放 Z -构建号
基本答案是“视情况而定”。
版本控制的目标是什么?许多人使用version.revision.build并且只发布version。对世界的修订,因为这是一个发布版本,而不是一个开发版本。如果你使用签入“版本”,那么你很快就会发现你的版本号变大了。
如果你正在计划你的项目,那么我会为带有小变化的版本增加修订,为带有大变化、bug修复或功能/特性的版本增加版本。如果您提供beta版或夜间构建类型版本,则扩展版本控制以包括构建,并在每个版本中增加版本。
不过,在一天结束的时候,这取决于你,它必须对你有意义。
我在我的应用程序中使用这个规则:
x.y.z
地点:
X =主版本号,1-~。 Y =特征号,0-9。如果更改包含有或没有错误修复的新特性,则增加此数字。 Z =热修复数,0-~。如果更改只包含错误修复,则增加此数字。
例子:
对于新应用程序,版本号以1.0.0开始。 如果新版本只包含错误修复,则增加热修复数量,以便版本号为1.0.1。 如果新版本包含有或没有bug修复的新特性,增加特性号并将热修复号重置为零,以便版本号为1.1.0。如果特性号达到9,增加主版本号,并将特性号和热修复程序号重置为零(2.0.0等)
正如Mahesh所说: 我会使用x.y.z类型的版本控制
X -主要释放 Y -轻微释放 Z -构建号
你可能想要添加一个datetime,而不是z。
当您有另一个版本时,您将增加次要版本。 主要版本可能会保持0或1,当你真正做重大更改时(通常是当你的软件处于与以前的版本不向后兼容的位置时,或者你改变了整个框架时),你才会更改它。
你知道你总是可以看看别人在做什么。开源软件倾向于允许访问它们的存储库。例如,您可以将SVN浏览器指向http://svn.doctrine-project.org,并查看实际项目使用的版本控制系统。
版本号,标签,都有。