寻找一种方法使用git flow自动化"bump version"

spd*_*aly 19 git bash awk version-numbering git-flow

我已经使用git flow几个月了,它运行得很好.我想自动化"凹凸版"操作.

项目是PHP,footer.php有一个令牌替换为当前的发布标记.我确信,随着git日志和PHP文件的一些问题,一切都应该解决,但我认为有人之前做过这个...

有任何想法吗?

AD7*_*six 15

您可以使用semver gem,它将文件添加.semver到您的git 仓库的根目录.语义版本号是对结构化/一致/有意义的版本号的建议,宝石只是使其易于实现.

所以,你需要做的就是添加:

semver inc major|minor|patch
Run Code Online (Sandbox Code Playgroud)

进入您的工作流程(手动或脚本化),以便在发布期间更新.semver.

如果你不想要ruby依赖,那么semver非常简单,所以一些sed实验可能会产生一个可行的解决方案.


per*_*tus 12

还有碰撞(https://github.com/peritus/bumpversion上的更多信息)旨在取代那种sed魔法.

安装pip install bumpversion,告诉它哪些文件包含您的版本号,以及是否要提交和标记.它也是高度可配置的(默认使用语义版本控制),因此您可以添加声明性配置文件,了解如何将此软件项目的版本降级到您选择的vcs,其他人也可以使用版本.

  • `bumpversion` 似乎已经被原开发者抛弃了,但是有一个 [fork](https://github.com/c4urself/bump2version) 维护得更积极,并添加了一些功能,例如带注释的标签。 (2认同)

Pet*_*oes 10

在我的git-flow分叉项目中,我实际上实现了钩子和过滤器,这是许多在原始项目中做出的请求,但到目前为止还没有实现.有了这些,您可以自动更新项目中的版本号.分叉项目可以在这里找到 https://github.com/petervanderdoes/gitflow

对于版本碰撞的一些Bash脚本,您可以查看我创建的两个要点 https://gist.github.com/2877083https://gist.github.com/2878492