Alias分支在Git中的最后一个版本

时间:2012-02-16 08:22:30

标签: git version-control build-automation git-branch

我们有相当常见的Git工作流程,如this article中所述。 现在,在我们的构建服务器上,我们希望为 develop master 上一个版本制定构建计划。问题是最后一个发布分支在时间上有不同的名称(* release - **)。

有什么方法可以解决这个问题?是否可以创建可由构建服务器使用的具有永久名称​​ lastrelease 的别名?还有什么吗?

2 个答案:

答案 0 :(得分:2)

如果您的release- *标签名称有自然排序规则,您可以列出它们并选择最后一个。

例如,这可以通过这种方式实现:

git tag -l release-* | sort -V

git tag的-l选项是列出与提供的模式匹配的标签。

sort -V是为您的案例设计的特殊数字排序选项

如果你想选择最后一个,只需追加尾巴-1:

git tag -l release-* | sort -V | tail -1

如果你想获得subversion的最后一个版本(例如1.x版本),那很简单:

git tag -l release-1.* | sort -V | tail -1

答案 1 :(得分:1)

可以通过git symbolic-ref命令创建指向其他引用的引用。

但是,这不一定是预期的行为:What's the recommended usage of a Git symbolic reference?

您的另一个选择可能是在最新的HEAD分支上拥有主Git存储库点release-,然后让构建服务器构建HEADdevelop,和master

第三个选项是简单地拥有release-latest分支,并在更新当前release-分支时使用post-receive hook来更新它。