删除本地和远程缓存

时间:2017-03-27 15:05:40

标签: git jenkins

我似乎在本地或远程没有任何git标签,因为以下命令没有任何输出:

git tag -l
git ls-remote --tags

然而,我的Jenkins构建,即创建标记并将其推送到远程,失败,并显示以下消息:

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

git标签创建是在引擎盖下完成的,所以很难测试。我假设某些旧标签可能已被缓存。

Git是否将某些配置保存为缓存?

在哪种情况下,有没有办法清除本地和远程Git缓存,以防万一那些旧标签保存在那里?

1 个答案:

答案 0 :(得分:1)

这可能是因为Jenkins试图在其本地git repo 上多次创建相同的标签 。您可以通过在Jenkins框上运行git tag -l来确认这一点。据推测,Jenkins没有将标签推到原点,因为它失败了(?),这就是为什么你在服务器上看不到它。

每次在创建标记之前让Jenkins删除标记:

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

然后,如果它尝试重新创建具有相同名称的标记,则可以确保它首先被删除。