gpt4 book ai didi

python-3.x - Github API 生成的带注释的标签未显示在 git describe 中

转载 作者:行者123 更新时间:2023-12-03 13:42:00 31 4
gpt4 key购买 nike

我正在尝试编写一个脚本来使用自定义 CI 触发器自动设置 github 版本。我有一个使用 pygithub 的 python 脚本自动创建标签和发布。

# roughly the following code:
repo.create_git_tag(...)
repo.create_git_ref(...)
repo.create_git_release(...)

运行脚本后,一切都显示在 GitHub Web UI 中,在 git fetch origin && git tag -l 之后,我可以在本地看到标签。但是当我使用 git describe (即使使用 --tags ),它也会因 fatal: No tags can describe '<head_commit_hash>' 而失败

使用 git show-ref --tags ,我得到如下内容:
hash1 refs/tags/releases/1.0.0
hash2 refs/tags/releases/1.1.0
hash3 refs/tags/releases/1.1.1

然后 git cat-file -p hash1给我:
object hash_of_commit_at_tag
type commit
tag releases/1.0.0
tagger ...

Release: 1.0.0

但是,如果我自己使用 git tag -a releases/1.0.0 hash_of_commit -m "Release 1.0.0" 创建并推送标签, git describe给我当前的最后一个可访问标签 HEAD .

问题是,是 GitHub apipygithub做什么特别的事?或者我错过了 pygithub 中的 api 调用?

最佳答案

显然,当您发布时,GitHub API 正在创建未注释的标签。
对我有用的解决方案是使用 git describe --tags这是来自我的 repo,其中有两个标签是通过在 GitHub API 中发布而创建的

❯ git tag -l
v1.1.0
v1.2.0
❯ git describe
fatal: No annotated tags can describe '912268bd176bbda06983995894b46cf764b3e666'.
However, there were unannotated tags: try --tags.
❯ git describe --tags
v1.2.0

关于python-3.x - Github API 生成的带注释的标签未显示在 git describe 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51888270/

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