我們有相當常見的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