【问题标题】:How can I update my project version numbers using Git?如何使用 Git 更新我的项目版本号?
【发布时间】:2018-07-14 05:36:33
【问题描述】:

假设我有两个分支:developfeature

假设我还有一个名为 VersionNumber 的文件,其内容如下:

BUILD_NUMBER 1 个

我想使用 Git 挂钩,以便当我将 feature 合并到 develop 时,BUILD_NUMBER 字段会自动递增。

我想到了使用post-merge钩子的以下过程:

  1. 检查合并到的分支是develop
  2. 通过将BUILD_NUMBER 递增1 来更新VersionNumber 文件
  3. 添加更新文件:git add VersionNumber
  4. 修改提交:git commit --amend -C HEAD --no-verify

在最终命令之前一切正常。 Git 说我不能在合并过程中修改提交(这让我感到惊讶,因为我认为这是post-merge)。

关于我如何做到这一点的任何建议(使用post-merge 或任何其他挂钩)?

【问题讨论】:

    标签: git automation githooks version-numbering


    【解决方案1】:

    很遗憾,您的问题缺少代码示例。但是我能够为了它的乐趣而重现。 实际上,您不能将某些内容(例如对文件的更改)修改为合并提交-这似乎有些道理。实际上,您是合并后的,但是通过使用 amend 您尝试返回合并提交并对其进行修改。

    所以,我认为,你最好的机会就是简单地为版本提升添加一个提交。

    其他任何事情都会让它变得非常复杂,并且容易出现不起作用的极端情况,并且会花费您大量时间来弄清楚如何挽救您的提交和版本控制。我总是喜欢让事情尽可能简单。但也许其他人可以想出更好的东西。

    这是我写的post-merge钩子,如果有人感兴趣的话;不检查分支:

    perl -i -pe 's/(\d+)/1+$1/e' VersionNumber 
    echo "bump version: `cat VersionNumber`"
    git add VersionNumber
    git commit --amend -m "bump version: `cat VersionNumber`"
    

    【讨论】:

      猜你喜欢
      • 2014-08-05
      • 2023-04-05
      • 2020-12-21
      • 2013-02-10
      • 2015-12-09
      • 1970-01-01
      • 1970-01-01
      • 2012-06-03
      • 2021-12-10
      相关资源
      最近更新 更多