Git中最新版本的别名分支
我们有非常常见的Git工作流,如中所述。 现在,在我们的构建服务器上,我们希望为开发、掌握和上一版本的制定构建计划。问题是上一个发行版分支在时间上有不同的名称(*release-**)Git中最新版本的别名分支,git,version-control,build-automation,git-branch,Git,Version Control,Build Automation,Git Branch,我们有非常常见的Git工作流,如中所述。 现在,在我们的构建服务器上,我们希望为开发、掌握和上一版本的制定构建计划。问题是上一个发行版分支在时间上有不同的名称(*release-**) 解决这个问题的方法是什么?是否可以创建永久名称为lastrelease的别名,以供生成服务器使用?还有什么吗?可以通过git symbolic ref命令创建指向其他ref的ref 但是,这并不一定是预期行为: 您的另一个选择可能是在最新的发行版-分支上拥有主Git存储库的头部,然后让构建服务器构建头部,开发,以
解决这个问题的方法是什么?是否可以创建永久名称为lastrelease的别名,以供生成服务器使用?还有什么吗?可以通过
git symbolic ref
命令创建指向其他ref的ref
但是,这并不一定是预期行为:
您的另一个选择可能是在最新的发行版-
分支上拥有主Git存储库的头部
,然后让构建服务器构建头部
,开发
,以及主
第三种选择是简单地拥有一个
release-latest
分支,并在当前release-
分支更新时使用post-receive钩子对其进行更新。如果您的release-*标记名有一个自然的排序规则,您可以列出它们并选择最后一个
例如,这可以通过以下方式实现:
git tag -l release-* | sort -V
-git标记的l选项是列出与提供的模式匹配的标记
sort-V是为您的案例设计的特殊数字排序选项
如果要选择最后一个,只需附加tail-1:
git tag -l release-* | sort -V | tail -1
如果您想获得subversion的最后一个版本(例如1.x版本),这非常简单:
git tag -l release-1.* | sort -V | tail -1