我现在一直在使用subversion,并且想切换到git。阅读手册后,我只有一个保留,我使用svnversion获得一个参考编号:独特,简短,相对于时间单调(总是增加)。
约束:如果我们可以获得分支ID而不是上述要求,则只需要满足同一分支上的文章。 (分支ID可以是可以比较身份的任何内容,“这是发布分支吗?”。
[这里使用的文章用于表示计算机程序,文档或根据修订控制系统的内容生成的其他内容。]
答案 0 :(得分:8)
正如fork0所说,非线性历史没有这样的等价物,你可以执行此操作来获得当前分支的提交次数:
git log --oneline | wc -l
这是我的团队成员之一用于生成要在构建脚本中使用的内部版本号。
答案 1 :(得分:3)
不,非线性历史没有这样的东西。但是你可能会看git describe
,它的输出至少会达到两个第一标准。
答案 2 :(得分:2)
构建号的要点是简化获取给定构建的源代码的过程。您可以使用git show -s --pretty=format:%h
获取唯一标识版本的sha1编号,以便任何开发人员都可以在其存储库中签出。
但是,sha1不是增量编号,在大多数情况下甚至不能使用其他VCS。如果您希望拥有它,那么最好引入一个持续集成系统(例如Jenkins),它将逐步编号构建并为这些数字创建标记。在这种情况下,它会更适度地增长,因为CI通常不构建每个提交。
此外,提到的git describe
可以很好地生成良好的版本名称。
答案 3 :(得分:0)
Smudge|clean filters将允许您构建任何 ID,YYYYMMDD-N(其中N是此日期的提交计数器)可能是不错的选择