2011-06-14 45 views
2

我使用的系統在高負載時會自動啓動一個新服務器,從Github下載應用程序代碼並部署HTTP服務器。但是,我不想從回購的主分支中提取最新的提交,而是從最新的已標記提交中提取。這可能嗎?如果是這樣,怎麼樣?拉下git存儲庫的特定標記

謝謝!

回答

4

AFAIK,no;但是如何擁有一個總是包含要部署的代碼的「部署」分支?像往常一樣對主服務器進行處理,但只要代碼處於穩定狀態,就會推送到「部署」。

+0

謝謝。這是我們一起去的! – 2011-06-18 17:38:36

1

我認爲你想要做的是取得最新的標籤。如果是這樣的話,那麼你可以用git-fetch來完成:

get fetch -t 
1

您可以使用git describe獲取標籤的「最近」名稱,然後在解析標籤後檢出該標籤。

git describe --long | sed 's/-[0-9]*-g[a-f0-9]*//' 

您可能希望使用--tags作爲git-describe的參數,具體取決於您的需要。

+0

+1好的一個!但是,這必須與git fetch結合使用,以便更新最新的標籤,除非repo始終被克隆。 – ralphtheninja 2011-06-15 10:36:02

+0

@Magnus:好吧,在各行之間閱讀,OP部署了實驗代碼,並希望系統自動回滾到已知的良好(已標記)狀態。所以在這種情況下可能不需要提取。 – 2011-06-15 14:45:22