Gui*_*gno 3 git github github-api
在 Github 上,当您访问与提交对应的页面时 -像这样- 您可以看到以下内容:
我想象在分支 ( master)旁边,页面显示了包含该特定提交的存储库标签(在本例中为:4.8.0, 4.7.1, 4.7.0, 4.6.2, 4.6.1和4.6.0)。
有没有办法通过 GitHub REST API 或 GIT 命令行工具访问该信息?
我不确定 REST API,但您可以从 Git 的 CLI 执行此操作
git tag --contains <commit>
Run Code Online (Sandbox Code Playgroud)
这将输出从此提交可访问的所有标签。<commit>可以是提交或对象...即分支名称、标签名称或 sha。
有没有办法通过 GitHub REST API 或 GIT 命令行工具访问该信息?
您可以通过多种方式获取所有标签的列表。
GitHub API获取标签
GET /repos/:owner/:repo/git/tags/:sha
响应:
{
"tag": "v0.0.1",
"sha": "940bd336248efae0f9ee5bc7b2d5c985887b16ac",
"url": "https://api.github.com/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac",
"message": "initial version\n",
"tagger": {
"name": "Scott Chacon",
"email": "schacon@gmail.com",
"date": "2014-11-07T22:01:45Z"
},
"object": {
"type": "commit",
"sha": "c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c",
"url": "https://api.github.com/repos/octocat/Hello-World/git/commits/c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c"
}
}
Run Code Online (Sandbox Code Playgroud)
git loggit log --decorate --graph --oneline
Run Code Online (Sandbox Code Playgroud)
git taggit tag --contains <commit>
Run Code Online (Sandbox Code Playgroud)
--contains [<commit>]
仅列出包含指定提交的标签(如果未指定则为 HEAD)。