如何无需克隆仓库获取Gerrit中指定SHA区间的提交列表
无需克隆仓库获取Gerrit指定SHA区间提交列表的方法
你之前的命令无效,是因为Gerrit查询语法不支持直接用<start-sha>..<end-sha>这种格式指定提交区间,正确的做法是利用ancestor和descendant运算符来筛选提交。
正确的查询命令
使用以下命令可获取从起始SHA到结束SHA区间内的所有提交(包含起始和结束提交本身):
ssh -p 29418 my.gerrit.address gerrit query --format=JSON project:my-project ancestor:<start-sha> descendant:<end-sha>
参数说明
ancestor:<start-sha>:筛选所有以指定起始提交为祖先的提交(包含该起始提交)descendant:<end-sha>:筛选所有是指定结束提交后代的提交(包含该结束提交)- 两者结合即可精准定位两个提交之间的所有变更
无结果时的排查方向
如果执行后仍无返回结果,检查以下几点:
- 确认
<start-sha>确实是<end-sha>的祖先提交(可通过Gerrit网页端查看提交的父子关系) - 使用完整的提交哈希,避免短哈希不唯一导致Gerrit无法识别
- 确保
project:my-project是正确的项目完整路径(比如project:infra/web/app)
可选扩展参数
如果需要更多提交细节,可添加以下参数:
--current-patch-set:返回每个提交的最新补丁集信息--all-approvals:包含提交的审批记录--comments:包含提交的评论内容
内容的提问来源于stack exchange,提问作者PloniStacker
相关产品推荐
相关产品推荐

