【问题标题】:GIT: [Rejected] (would clobber existing tag) ErrorGIT:[拒绝](会破坏现有标签)错误
【发布时间】:2019-11-06 10:48:31
【问题描述】:

背景故事: 我们在构建过程中使用GitVersion 用版本号重命名构建。我们也在关注GitFlow 流程。我们有一个 hotfix/2.9.1 分支,它可能已经合并了另一个分支,因此导致 GitVersion 从 2.9.1 变为 2.9.2。为了解决这个问题,我们用标签2.9.1 标记了hotfix/2.9.1 分支。在此期间,正在对修补程序分支进行工作。在发布期间,我们删除了标签,将hotfix/2.9.1 合并到master,然后用2.9.1 标记master。然后我们将 master 合并到 develop 和我们的 release 分支中。

我们现在在构建中发现问题:

我发现this 与标签有关,但我不确定这是否适用。我尝试按照here 的建议在本地删除标签,我尝试执行git fetch --tags 并推送。这似乎只发生在我们的构建服务器 (Azure) 上。

忘了说: 如果我删除 Azure 中的标记并重新排队失败的构建,一切都会按预期工作。

【问题讨论】:

  • 标签仅用于实际发布。为什么你一开始就标记了不在master 中的东西?
  • 可能是为了强制构建 # 到标签,即使有人从另一个分支签入了将 gitversion 推送到下一个版本的代码,为了 QA 加粗,这样测试人员就不会惊慌失措。
  • @NilsWerner,这对我们来说不是正常的做法。就像 Jay 所说的那样,这是强制构建版本。

标签: git azure azure-devops git-tag


【解决方案1】:

原因可能是你删除了原来的一个标签,重新创建了一个相同的名字。

解决办法:

git fetch --tags -f

强制刷新本地标签

From here

【讨论】:

    【解决方案2】:

    将构建排队一次,将Clean 设置变为Sources Directory,这将清除代理上的本地存储库并执行干净克隆。

    如果您有多个代理,您可能必须这样做,直到所有代理都以这种方式清除了他们的工作区文件夹。 见:

    【讨论】:

    • 我以为我已经正确设置了它,但我一定没有保存它;)这有效!
    • @DDiVita,你可以接受它作为答案:),因为它适合你。
    猜你喜欢
    • 2020-01-03
    • 2020-01-21
    • 2020-10-03
    • 2020-06-12
    • 2016-01-15
    • 2019-07-11
    • 2012-11-18
    相关资源
    最近更新 更多