如何通过Gerrit查询项目ref/master的最新合并提交HASH?
通过Gerrit获取ref/master分支最新合并提交信息的方法
完全可以通过Gerrit的内置查询能力或REST API实现,无需依赖git log命令。以下是几种可行方案:
1. 使用Gerrit命令行工具(gerrit query)
如果环境已配置Gerrit命令行客户端,可直接执行命令获取哈希值:
# 输出JSON格式并提取哈希值(需jq工具) gerrit query --current-patch-set branch:master status:merged --format=JSON | jq '.[0].commit' # 纯文本输出提取哈希值(无需额外工具) gerrit query --current-patch-set branch:master status:merged | grep -m1 "^commit" | awk '{print $2}'
- 参数说明:
branch:master:指定目标分支为master(对应你的ref/master)status:merged:仅筛选已合并的提交--format=JSON:输出结构化JSON,便于自动化解析
2. 调用Gerrit REST API
通过HTTP请求直接从Gerrit服务器获取数据,适合自动化脚本场景:
# 替换为你的Gerrit实例域名 curl -s "https://your-gerrit-domain.com/a/changes/?q=branch:master+status:merged&n=1" | tail -n +2 | jq '.[0].current_revision'
- 细节说明:
q=branch:master+status:merged:查询参数,限定分支和提交状态n=1:仅返回最新的1条结果tail -n +2:移除Gerrit API返回的防JSON劫持前缀行jq '.[0].current_revision':提取最新合并提交的哈希值
3. Gerrit网页端查询
直接在Gerrit网页的搜索框输入以下查询语句:
branch:master status:merged
搜索结果列表的第一条即为该分支最新合并的提交,提交哈希值会显示在结果项的头部或详情页中。
内容的提问来源于stack exchange,提问作者Ziv M
相关产品推荐
相关产品推荐

