运行 Bump Version 时实际发生了啥变化?

Posted

技术标签:

【中文标题】运行 Bump Version 时实际发生了啥变化?【英文标题】:What is actually getting changed when Bump Version is run?运行 Bump Version 时实际发生了什么变化? 【发布时间】:2017-04-06 09:05:17 【问题描述】:

根据http://nvie.com/posts/a-successful-git-branching-model/:

$ git checkout -b release-1.2 develop
Switched to a new branch "release-1.2"
$ ./bump-version.sh 1.2
Files modified successfully, version bumped to 1.2.
$ git commit -a -m "Bumped version number to 1.2"
[release-1.2 74d9424] Bumped version number to 1.2
1 files changed, 1 insertions(+), 1 deletions(-)

After creating a new branch and switching to it, we bump the version number. Here, 
bump-version.sh is a fictional shell script that changes some files in the working 
copy to reflect the new version. (This can of course be a manual change—the point 
being that some files change.) Then, the bumped version number is committed.

但是我们不是已经将分支命名为release-1.2,我假设我们会在发布时将master标记为1.2,那么./bump-version.sh 1.2到底发生了什么变化?

谢谢。

【问题讨论】:

不知道你的 shell 脚本在做什么。但是您可以删除标签git tag -d tag1。您需要检查谁在维护 shell 脚本才能知道它到底在做什么。 这里的人怎么能猜到或知道 你的 shell 脚本在做什么?根据您的平台执行cat bump_version.shtype bump_version.sh 并查看代码。 我投票结束这个问题,因为这是一个关于尚未发布的本地脚本的问题 大家好,我完全阅读了这个问题,你会看到我指的是一个流行的 Github 进程(参见我发布的 URL),我评论中的文字包括以下内容:“在创建新的分支并切换到它,我们会增加版本号。这里,bump-version.sh 是一个虚构的 shell 脚本,它会更改工作副本中的一些文件以反映新版本。所以我的问题是:当他们说“更改工作副本中的一些文件以反映新版本”时,他们是什么意思。\ 【参考方案1】:

首先,那篇文章中的脚本是一个虚构的 shell 脚本。所以这只是意味着您必须更新文件以反映新版本

在创建一个新分支并切换到它之后,我们会增加版本号。在这里,bump-version.sh 是一个虚构的 shell 脚本,它会更改工作副本中的一些文件以反映新版本。 (这当然可以是手动更改 - 关键是某些文件会更改。)然后,提交碰撞的版本号。

上述文件是指所有带有版本号描述的文件。可能是 readme.md 文件,或 gradle 文件,或带有硬编码版本号的源代码,或任何东西

这个文件的例子是 django 仓库中的django/__init.py 文件。因此,对于下一个版本(假设他们将其编号为 2.2.0),文件应该变成这样

from django.utils.version import get_version

VERSION = (2, 2, 0, 'alpha', 0)

__version__ = get_version(VERSION)

...

编辑:

相关提交示例:https://github.com/django/django/commit/92fad87958763a649c698cf28b99ec2c4a2fd109#diff-484b5b08de7d25a106a8855101e2423e

相关问题讨论:https://github.com/nvie/gitflow/issues/26

【讨论】:

以上是关于运行 Bump Version 时实际发生了啥变化?的主要内容,如果未能解决你的问题,请参考以下文章

当实体发生变化时,OpenJPA 对 db 模式做了啥?

当 React 组件返回时实际发生了啥?

如何检测 SwiftUI 中的 @Published 值发生了啥变化?

PostgreSQL 中的并发查询 - 实际发生了啥?

在将一个对象分配给另一个对象时,实际发生了啥,保留对象还是整个副本?

标准“安装”实际上做了啥?