You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gerrit自动化工作流咨询:获取Commit ID及Change ID的方法

Gerrit推送失败问题解决方案

问题1:获取未显示的最新commit ID

可以通过以下git命令直接获取目标分支或当前工作区的最新commit ID:

  • 获取当前分支的最新commit ID:
    git rev-parse HEAD
    
  • 查看最近1条提交的ID和简要信息(更直观):
    git log --oneline -1
    
  • 直接指定错误中涉及的分支(CICCORNERSTONE)获取其最新commit ID:
    git rev-parse refs/heads/CICCORNERSTONE
    

如果是在自动化脚本中,可以捕获这些命令的输出结果来获取ID。

问题2:自动化根据commit ID查找对应的变更编号

Gerrit提供两种官方支持的自动化方式:

1. REST API方式

发送GET请求查询对应commit的变更信息,示例请求:

curl -u <用户名>:<密码/访问令牌> "https://你的Gerrit服务器地址/changes/?q=commit:<目标commit-ID>"

返回的JSON数据中,number字段就是对应的变更编号,change_id是Gerrit内部的变更标识。

2. SSH API方式

通过Gerrit的SSH命令行工具查询,示例命令:

ssh -p <SSH端口> <用户名>@你的Gerrit服务器地址 gerrit query commit:<目标commit-ID> --current-patch-set --format=JSON

返回的JSON结果里,number字段即为变更编号。如果需要在脚本中提取,可以配合jq工具解析:

ssh -p <SSH端口> <用户名>@你的Gerrit服务器地址 gerrit query commit:<目标commit-ID> --current-patch-set --format=JSON | jq '.number'

内容的提问来源于stack exchange,提问作者Prabal Rakshit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 02:55:01