2014-09-12 71 views
11

我有一個標籤已經推到遠程,當另一個用戶創建相同的標籤並嘗試推送時,推送將失敗,因爲標籤已經存在於遠程。Git force push tag當標籤已經存在於遠程時​​

但我想如果我這樣做 - 強制標籤推,它應該是工作。但那不是我所看到的。

我想我必須這樣做。

Create tag 
Push tag -> If push fails -> Delete tag on remote 
          -> push tag again. 

這是正確的嗎?不是強制推標籤應該照顧這個?

我使用註釋標籤與

git -a v1.0 -f -m "message" 

感謝您尋找。

+1

你試過類似git push origin:refs/tags/tag_name來刪除遠程標籤嗎? – 2014-09-12 19:44:31

+0

通常情況下,您可以強制推送標籤,但遠程設備可能會禁止該標籤。通常情況下,您可以刪除遙控器上的標籤,但遙控器也可以不允許使用。如果遙控器足夠嚴格,則必須讓某人直接訪問以更新遙控器。另見http://stackoverflow.com/questions/19298600/tag-already-exists-in-the-remote-error-after-recreating-the-git-tag – torek 2014-09-12 20:03:38

+0

好的。我認爲-f應該總是強制更新遠程標籤。我將使用刪除操作並重新創建我添加的邏輯。感謝您的迴應。 – user3606175 2014-09-12 20:27:10

回答

19

在我的情況下,當標籤已經存在時,遠程拒絕強制推送。

所以,當推被拒絕後,我做了

git push --delete origin tagname 

,推動了新的標籤。

請參閱Torek對我的問題的評論。有一種情況,即遠程也可以拒絕刪除。

相關問題