我们有相当常见的Git工作流程,如this article中所述。 现在在我们的构建服务器上,我们想制作开发,主版本和最新版本的构建计划。问题是最后的版本分支在时间上有不同的名称(* release - **)。Git中最后一个版本的别名分支
解决此问题的方法有哪些?是否有可能创建别名,可以使用永久名称lastrelease可供构建服务器使用?还要别的吗?
我们有相当常见的Git工作流程,如this article中所述。 现在在我们的构建服务器上,我们想制作开发,主版本和最新版本的构建计划。问题是最后的版本分支在时间上有不同的名称(* release - **)。Git中最后一个版本的别名分支
解决此问题的方法有哪些?是否有可能创建别名,可以使用永久名称lastrelease可供构建服务器使用?还要别的吗?
可以通过git symbolic-ref
命令创建指向其他参考的参考。
然而,这并不一定预期的行为:What's the recommended usage of a Git symbolic reference?
你的其他选择可能是有你的主人Git仓库点HEAD
在您的最新release-
分支,然后有构建服务器构建HEAD
,develop
,和master
。
第三个选项是只需要一个release-latest
分支,并使用post-receive钩子来更新它,只要当前的release-
分支已更新。
如果您的release-*标签名称具有自然排序规则,则可以列出它们并选择最后一个。
举例来说,可以做到这一点是这样的:git的标签
git tag -l release-* | sort -V
-l选项列出标签匹配提供的模式。
排序-V是专为你的情况
如果你想挑选最后一个只是追加尾-1一个特殊的数字排序选项:
git tag -l release-* | sort -V | tail -1
如果你想获得的最后一个版本一个颠覆(例如1.x版本),这很容易:
git tag -l release-1.* | sort -V | tail -1