我正在尝试使用git describe
命令获取当前分支的最新标签名称,但是输出中出现了意外的警告。
-> 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)
编辑:
refs/tags/TAG_NAME
作为解决方案,用于处理使用jgit时遇到的其他问题。谢谢! - trebor.git/packed-refs
中标签的命名方式是怎样的?我不认为压缩对象会导致这个问题,但我也不敢打赌。 - Marco Luzzara.git/packed-refs
文件的屏幕截图:https://i.stack.imgur.com/jJsGL.png。 - treborrefs/tags/v0.0.x
。如果是这样,请尝试在一个新的干净存储库中使用该git版本复制问题,标签对象名为refs/tags/v0.0.1
(而不仅仅是v0.0.1
),并且在packed-refs
文件中具有相同的名称(就像现在一样)。如果不是这种情况,那么我们可能遗漏了某些东西。 - Marco Luzzara