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

如何撤销GitLab中单个早期的cherry-pick提交?

无需重新执行所有cherry-pick,直接单独撤销问题提交即可

不用重新做全部10个cherry-pick操作,你可以直接在当前release分支上处理那个有问题的commit,同时保留前后的提交内容,推荐两种安全高效的方案:

方案1:使用git revert(推荐,适合已推送到远程的分支)

这是最安全的方式,不会修改现有提交历史,而是生成一个新的提交来抵消问题commit的变更:

  • 先通过git log找到问题commit的哈希值(比如abc123)
  • 执行命令:git revert abc123
  • 编辑器会打开让你填写新commit的说明,保存退出即可
  • 最后将这个新的revert提交推送到远程分支,完成修复

方案2:使用git reset(仅适用于分支未推送到远程的场景)

如果你的release分支还没推送到远程仓库,可以用重置的方式回退到问题commit之前,再重新cherry-pick后续提交:

  • 找到问题commit的上一个提交哈希(比如问题commit是abc123,其父提交是def456)
  • 执行命令:git reset --hard def456,此时分支会回退到问题提交之前的状态
  • 重新cherry-pick问题commit之后的那些提交(不用重新做全部10个,只需要补后面的几个)

注意事项

  • 绝对不要在已经推送到远程的分支上使用git reset --hard,会导致团队协作的历史冲突
  • 优先选择git revert,它对协作分支更友好,不会破坏已有的提交记录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 03:25:19