cherry-pick gerrit 上的提交到另一个分支

本文介绍了在使用Gerrit进行代码审查时如何正确管理变更ID。提供了两种方法:一是使用cherry-pick-n<HASH>进行单个提交的操作;二是通过git rebase --interactive批量处理多个提交。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在提交到gerrit进行review的时候,每个commit中都要带有一个唯一的change-id字串,当我们在cherry-pick一些commit到另外的分支的时候,如果被cherry-pick的commit已经是在gerrit中了,那么就需要重新生成change-id,否则再重新提交到gerrit的时候会被拒绝。


有两种方式可以办到:
1. 使用cherry-pick -n <HASH>, 然后用git commit, git log 不会丢失,我们只是需要将change-id那一行删除,系统提交后会自动生成新的唯一change-id.
这个方法操作步骤少,但是当面对几百个需要cherry-pick的提交时,就要重复几百次,尤其是查找和复制hashcode的时候会比较繁琐。







2. 可以在开发分支上调用git rebase --interactive <主分支>, 然后将呈现文字中pick全部改成edit,如此这样,在rebase的过程中,每一个commit都会提醒你使用git commit --amend去修改commit, 你只要将change-id删掉即可,然后执行git rebase --conitue 开始执行下个commit的rebase操作,如此反复,直到所有commit完成rebase。

这种方式适合大量commit需要cherry-pick到另外一个分支的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值