2012-02-16 64 views
5

我們有相當常見的Git工作流程,如this article中所述。 現在在我們的構建服務器上,我們想製作開發,主版本最新版本的構建計劃。問題是最後的版本分支在時間上有不同的名稱(* release - **)。Git中最後一個版本的別名分支

解決此問題的方法有哪些?是否有可能創建別名,可以使用永久名稱lastrelease可供構建服務器使用?還要別的嗎?

回答

1

可以通過git symbolic-ref命令創建指向其他參考的參考。

然而,這並不一定預期的行爲:What's the recommended usage of a Git symbolic reference?

你的其他選擇可能是有你的主人Git倉庫點HEAD在您的最新release-分支,然後有構建服務器構建HEADdevelop,和master

第三個選項是隻需要一個release-latest分支,並使用post-receive鉤子來更新它,只要當前的release-分支已更新。

2

如果您的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