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

在GitHub执行Squash and Merge后,如何找到squash commit以cherry-pick?

解决方案:一次性cherry-pick squash合并提交

完全可以通过找到当初Squash and Merge生成的单一提交,用一次cherry-pick完成所有变更的重新应用,步骤如下:

1. 定位squash合并提交的哈希值

  • GitHub页面查找:打开对应的PR页面,在「Conversation」标签下找到合并记录(通常显示为「Squash and Merge into main」),点击该记录就能看到生成的squash提交详情,复制其完整哈希值(或短哈希)。
  • 本地Git日志查找:切换到main/master分支后,执行git log --oneline,通过PR标题(squash提交的默认信息就是PR标题+编号,比如「优化支付流程 #456」)搜索目标提交,找到对应的哈希值。

2. 准备本地分支

确保本地main/master分支是最新状态:

git checkout main
git pull origin main

3. 执行cherry-pick

用复制的哈希值执行cherry-pick:

git cherry-pick <squash-commit-hash>
  • 如果遇到冲突,手动解决代码冲突后,执行git add .,再运行git cherry-pick --continue完成操作;
  • 若要终止cherry-pick,执行git cherry-pick --abort。

补充说明

当初的回退操作(比如git revert)只是生成了一个反向提交,并不会删除原squash合并提交,因此它依然存在于仓库的提交历史中,可以正常被cherry-pick引用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 12:12:03