2017-03-27 73 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 
.... 

然后,如果它试图重新创建具有相同名称的标签,你会放心,它首先删除。