【问题标题】:Annoying software versioning, or is it just me? [closed]烦人的软件版本控制,还是只有我一个人? [关闭]
【发布时间】:2014-10-26 08:35:51
【问题描述】:

我们的一位开发人员不断以奇怪的版本控制格式(例如 5.2.3-6-gc0dc298)将其软件发布到 Nexus 的“发布”存储库。这实际上是major.minor.build-#ofcommits-lastCommitTag。我知道这可能有助于开发人员通过观察版本号来快速识别此二进制文件的哪些功能,但这不是标准吗?

我认为这与敏捷与否、Git 与 SVN 的差异以及 Java 与 Haskell 无关。我相信可发布的版本格式只是 x.y.z,而我会将上述格式视为 SNAPSHOT 格式。我对吗?在生产环境中使用长版本格式有什么好处吗?

【问题讨论】:

  • 与其说是 QA,不如说是讨论?

标签: git svn version enterprise snapshot


【解决方案1】:

奇怪的版本控制格式,例如 5.2.3-6-gc0dc298。

这是一种基于最近标记来引用尚未标记的提交的方法。

换句话说,“可发布的版本格式只是 x.y.z”可以通过标签实现,遵循您想要的任何标准,例如 Semantic Versioning

但是,如果您不标记 所有 版本(通常在多个日内发布周期中,您正在推送和部署许多非常小的修复程序),那么 git describe 是不错的选择。

分开:

  • 开发生命周期(生成要发布的稳定版本)
  • 发布生命周期(发布分支上有大量特定于生产的更改/小修复,它们将被或不会被反向移植到开发分支)

在“Is there a standard naming convention for git tags?”查看更多信息

【讨论】:

    猜你喜欢
    • 2011-09-30
    • 2011-01-26
    • 2010-09-13
    • 2011-02-21
    • 2011-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多