Gitlab-CI 中存在已删除的标签

Nrg*_*zer 7 git gitlab gitlab-ci semantic-release

我正在使用语义发布进行版本控制。每当我将某些东西推送到我的分支时,CI(Gitlab)就会执行语义发布。我的问题是我推送到我的 git 分支,semantic-release 创建了一个版本并创建了标签(例如 1.0.0)。最后,我发现我错过了这次提交的一些重要内容。所以我删除了Gitlab中的标签(存储库>标签,例如https://gitlab.com/user/project/-/tags),最后再次推送我的提交。但现在,semantic-release 告诉我该标签已经存在,但 Gitlab 不再显示任何标签(我删除了所有标签)。现在我决定将以下行添加到我的 CI 中:

git show-ref --tags -d

这显示了我已经在 Gitlab 中删除的所有标签,但它们似乎存在于我的 CI 中。所以我很困惑这里发生了什么......有什么想法吗?我的 CI 中是否需要“同步标签”之类的东西?

小智 3

此行为是由运行者脏缓存引起的。您.gitlab-ci.yml应该将 git 策略声明为克隆而不是fetch,如下所示:

ajob:
  variables:
    GIT_STRATEGY: clone
Run Code Online (Sandbox Code Playgroud)

以下是有关此特定行为的一些讨论:

GitLab CI 克隆的存储库上缺少标签

删除了在 gitlab 远程 CI 上检测到的 git 标签,但在本地存储库上未检测到 git 标签