2016-07-07 78 views
1

儘管還有其他可能性將代碼標記爲最新的穩定版本(例如發佈分支),但我想知道爲什麼不使用標籤來標記最新的穩定版本跨主要版本號或任何其他版本方案)。更新git中的遠程標籤(標記最新的穩定版本)

標籤在git中的概念無論如何都不適合這種用法,因爲標籤無法更新(如文檔所示移動)。因此,即使我在本地刪除並重新創建註釋標籤,嘗試將其推送到遠程時也會出現錯誤。有沒有什麼方法可以直接從本地名稱相同的名稱更新遠程標籤?

回答

2

當然有。

git push --tags -f 

強制推送標籤。所以如果你在本地更新它,它也會在遠程進行更新。

雖然上面的解決方案是有風險的,因爲它推動所有標籤並覆蓋它們。假設你的標籤被命名爲

stable 

那麼你可以做以下

首先,刪除遠程標籤

git push origin :refs/tags/stable 

接下來,推的標準方式

git push --tags 

或者...作爲單線程

git push origin stable:refs/tags/stable 
+0

事實上,onliner的作品,但你也必須記住在獲取時更新標籤(git fetch --trags),否則每個克隆將保留其舊的參考。不太實際 – a1an