按照GitHub v3 API的指示,我可以创建一个带注释的标签。我先创建标签对象,然后是引用对象。这些都没问题。
我可以像这样删除引用:
curl -X DELETE -i -u 'myuser:mypassword' https://api.github.com/repos/:user/:repo/git/refs/tags/ben-test-310
很遗憾,这似乎还不够。我如何使用API完全删除标签?
按照GitHub v3 API的指示,我可以创建一个带注释的标签。我先创建标签对象,然后是引用对象。这些都没问题。
我可以像这样删除引用:
curl -X DELETE -i -u 'myuser:mypassword' https://api.github.com/repos/:user/:repo/git/refs/tags/ben-test-310
很遗憾,这似乎还不够。我如何使用API完全删除标签?
现在API已经支持这个功能了,它被称为“删除引用” (delete_ref
):
https://docs.github.com/en/rest/reference/git#delete-a-reference
这里还有一个例子,使用Ruby SDK实现: https://octokit.github.io/octokit.rb/Octokit/Client/Refs.html我发现我需要在想要删除的标签之前添加/tags
,但这并没有在https://docs.github.com/en/rest/reference/git#delete-a-reference中提到。
下面是完整的命令供参考:
curl \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer {GITHUB_TOKEN}" \
"https://api.github.com/repos/{username}/{repo}/git/refs/tags/{tag}"