如何移除Gerrit中提交A关联链里标记为‘Not Current’的提交B?
Gerrit拆分提交后清理关联链问题解决方法
问题背景
原提交链为 main -- A -- B,需拆分为main分支下独立的A和B两个提交。推送独立的B后,B的评审链已无A(符合预期),但A的评审链仍显示标记为“Not Current”的B。
解决步骤
- 重新推送独立版本的提交A
- 切换到本地
main分支并拉取最新代码:git checkout main && git pull origin main - 将提交A的修改重新基于
main生成独立提交:- 如果本地保留了A的修改,直接提交(确保Change ID与原A一致);
- 若本地无A的修改,用
cherry-pick提取原A的提交:git cherry-pick <A的commit哈希值>
- 推送到Gerrit:
git push origin HEAD:refs/for/main
- 切换到本地
- 在Gerrit后台清理旧关联
- 登录Gerrit平台,打开提交A的评审页面;
- 找到标记为“Not Current”的提交B条目,通过条目旁的操作菜单(一般是下拉按钮)选择删除或取消关联;
- 若没有直接取消关联的选项,重新推送独立版A后,Gerrit会自动更新提交链关联,旧的B关联会被系统移除。
验证
刷新提交A的评审页面,确认已无提交B的关联条目;同时检查提交B的评审页面,确保其仍为基于main的独立提交。
内容的提问来源于stack exchange,提问作者user17851340
相关产品推荐
相关产品推荐

