version-control - 版本号从何而来?

标签 version-control version-numbering

我有一个版本控制系统(例如 Subversion),现在我想设置一个构建过程。现在我必须创建一个版本号并将其插入系统。但是版本号是从哪里来的呢?假设我想使用这个常见的 .. 方案。我应该将一个数字传递给构建脚本吗?或者我应该传递像increaseMajor、increaseMinor、increaseRevision这样的参数?或者您会建议使用构建脚本检测到的编号创建一个分支吗?

我可以想象必须在某处手动输入主要和次要版本号。修订号可以自动增加。但我仍然不知道我会把主要和次要号码放在哪里。

就我而言,我有一些想要压缩的 php 文件,但在我必须将一些版本号插入到 php 文件之前。

我编辑了这篇文章,试图让我的要求更清晰:

我不使用 Subversion,那只是一个例子。我不想讨论版本号方案。

想象一下,我想创建 3.5.0 或 3.5.1 版本。我会将此版本号传递给构建脚本吗?脚本会使用这个编号在存储库中创建分支还是期望有人已经创建了这个分支?手动?或者构建脚本会查找分支的名称(例如'3.5.1)并将其用于进一步的事情?版本号是来自我的大脑还是自动创建的(我猜它的主要/次要编号来自我的小大脑并创建了修订号)?或者您是否会将数字放入可能插入存储库的文件中?

我想如果要使用发布管理工具,我会在那里插入版本号。但我还没用过。

最佳答案

对于颠覆,要么采用全局修订号并将其用作“构建”号,或者甚至更好,根本不依赖它并使用标签和/或分支管理版本。全局修订的主要问题正是,它对 repo 是全局的。即使 repo 的某些部分没有改变,它也会增加。

恕我直言,将版本与 repo 的修订完全分离更好。你有标签,使用它们。

关于version-control - 版本号从何而来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/461202/

相关文章:

git - 使用 git filter-branch 更改文件名大小写

git - 我可以按合理顺序制作 git print x.y.z 样式标签名称吗?

.net - 为什么.NET中的System.Version定义为Major.Minor.Build.Revision?

c++ - 将版本作为字符串进行比较

svn - Tortoise SVN 隐藏 _svn 文件夹

svn - 有没有办法找出上次更新之前的上一个本地修订版本的修订号?

java - 查询请求: EC2 Version

sql - 从两列中选择最大版本号

version-control - Xcode 4 工作区文件是否应该受版本控制?

version-control - 是否有 “understands” 常见重构的 3 路合并工具?