git de-6ren">
gpt4 book ai didi

git - 为什么 `git describe`显示 "warning: tag ' xxx'对外称为 'refs/tags/xxx'”?

转载 作者:行者123 更新时间:2023-12-04 07:19:31 43 4
gpt4 key购买 nike

我正在尝试使用 git describeretrieve the latest tag name for the current branch ,但我在输出中遇到了意外警告。

-> git describe
warning: tag 'v0.0.6' is externally known as 'refs/tags/v0.0.6'
refs/tags/v0.0.6-0-g5392899

-> git describe --tags
warning: tag 'v0.0.6' is externally known as 'refs/tags/v0.0.6'
refs/tags/v0.0.6-0-g5392899

-> git describe --tags --abbrev=0
warning: tag 'v0.0.6' is externally known as 'refs/tags/v0.0.6'
refs/tags/v0.0.6-0-g5392899c48d700b48e0dda16129dac6a60bb3b1e

如前所述,本地标签没有 refs/tags 前缀:

-> git tag -l
v0.0.1
v0.0.2
v0.0.3
v0.0.4
v0.0.5
v0.0.6

但是,我不确定为什么会收到警告或我能做些什么。

标签没有被删除和重新创建,也没有被重命名。

标签是从我们的构建环境 (Jenkins) 创建的。

我能做些什么来纠正或解决警告吗?

-> git show
commit 5392899c48d700b48e0dda16129dac6a60bb3b1e (HEAD -> master, tag: v0.0.6, origin/master, origin/HEAD)
...

-> git --version
git version 2.30.1 (Apple Git-130)

编辑:

我们创建标签的 Jenkins 构建使用 jgit。 checkout 分支/代码的配置如下: jenkins git checkout

标签创建是使用 Git Publisher 完成的: jenkins git tag

最佳答案

我能够使用 git version 2.25.1 重现相同的错误。唯一不同的是返回的错误信息是:

warning: tag 'refs/tags/1.0' is really '1.0' here

此警告来自 append_name函数,我想问题是 name_checked 字段是错误的。我试图找到该领域背后的一些逻辑,但我没有成功,此外我对 C 不太好,我至少会浪费一天时间。

您看到的警告可能是由其他原因引起的,但它是在我(手动)在 .git/packed-refs.git/refs/之间产生差异后出现的tags/1.0 和标签对象。具体来说,我创建了一个名为 refs/tags/1.0 的标签,但我修改了 .git/packed-refs 如下:

975b54bb9b78e245f5abd1b10d6f090c4e0bbf58 refs/tags/1.0 # instead of refs/tags/refs/tags/1.0
^f84bc266f21fa641076a9bef0de4bf2ce1fa5090

但是,与您不同的是,我不仅看到了带有 git tag -l 的正确标签,而且还看到了伪造的标签。

给你的两个建议:首先我会检查这 3 个文件(.git/packed-refs.git/refs/tags/your_tag 和标签对象.git/objects 中的文件)不包含任何矛盾的引用。无论哪种情况,请使用 Jenkins 的 Git 插件如何克隆远程存储库来编辑您的问题。如果我没记错的话,它会尝试通过至少减少检查出的引用来优化性能(也许插件中只是一个错误)。

关于git - 为什么 `git describe`显示 "warning: tag ' xxx'对外称为 'refs/tags/xxx'”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68593485/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com