2017-03-27 74 views
0

我似乎不具有本地或遠程的任何Git標籤,因爲下面的命令沒有任何輸出:刪除本地和遠程緩存

git tag -l 
git ls-remote --tags 

但是,我詹金斯建設,這是創建一個標籤並將其推送到遠程會失敗,並顯示以下消息:

The git-tag command failed. 
Command output: 
fatal: tag 'my-tag' already exists 

git標籤的創建是在引擎蓋下完成的,因此很難測試。我假設一些舊標籤可能已被緩存。

Git是否存在一些配置作爲緩存?

在這種情況下,是否有一種清除本地和遠程Git緩存的方法,以防萬一某些舊的標記被保留在那裏?

回答

1

這可能是因爲詹金斯正試圖創建相同的標籤超過其本地的git回購一次。您可以通過在Jenkins盒子上運行git tag -l來確認這一點。據推測Jenkins沒有將標籤推到原點,因爲它失敗了(?),這就是爲什麼你沒有在服務器上看到它。

有無詹金斯刪除標記每次創建標籤之前:

git tag -d mytag 
do some stuff 
git tag mytag 
git push 
.... 

然後,如果它試圖重新創建具有相同名稱的標籤,你會放心,它首先刪除。