如何在GitHub上查询包含指定提交或PR的标签?
如何在GitHub网页/远程仓库中查找包含指定Commit或PR的标签
网页界面操作
查Commit对应的标签
- 打开目标仓库的GitHub页面,在顶部搜索框输入该commit的完整哈希(前7位也能用,只要能唯一匹配),找到对应的commit详情页
- 进到commit页面后往下拉到底部,找到Tags区块,这里直接列着所有包含这个commit的标签
- 如果没看到这个区块,说明这个commit还没被任何标签收录
查PR对应的标签
PR合并后会生成一个专属的合并commit,先找到这个commit:
- 打开PR的详情页,在标题下方找
Merged commit xxx的字样,点击那个commit哈希进入详情页 - 之后就按上面查Commit的步骤,看页面底部的Tags区块就行
另外还有个逐个验证的方法:
- 进到仓库的Releases页面,再点顶部的Tags标签
- 选一个标签点
Compare按钮,在比较页的基础分支输入目标commit的哈希,方向选从commit到标签,如果页面显示标签在commit之后且能正常比较(没有冲突提示),就说明这个标签包含该commit;反之则不包含。不过这种方法适合少量标签验证,不如直接看commit详情页高效
GitHub API远程操作(不用克隆仓库)
查询包含指定Commit的标签
用GitHub的REST API就能远程查询,不需要本地拉代码:
- 调用接口路径:
/repos/{owner}/{repo}/commits/{commit_sha}/tags - 替换参数:
{owner}是仓库所有者用户名,{repo}是仓库名称,{commit_sha}是目标commit的完整哈希 - 用curl命令示例:
curl -H "Authorization: token 你的GitHub令牌" https://api.github.com/repos/octocat/hello-world/commits/abc1234567890/tags
返回的JSON数据里就是所有包含该commit的标签信息
查询包含指定PR的标签
先通过API拿到PR的合并commit哈希,再查标签:
- 获取PR的合并commit:
curl -H "Authorization: token 你的GitHub令牌" https://api.github.com/repos/{owner}/{repo}/pulls/{pr编号}
在返回结果里找merge_commit_sha字段的值
2. 把这个哈希代入上面的Commit标签查询接口,就能得到包含该PR的所有标签
内容的提问来源于stack exchange,提问作者drevicko
相关产品推荐
相关产品推荐

