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

如何从GitHub挑选未合并提交?解决git cherry-pick对象错误

解决Git Cherry-Pick时的"fatal: bad object"错误

这个报错其实很好理解——你的本地仓库里根本没有这个提交的副本!你克隆的是原仓库,但这个提交属于一个尚未合并的PR,默认情况下本地只会同步原仓库的主分支(比如main或master),并没有拉取这个PR分支的内容,自然找不到对应的提交哈希。

下面是一步步的解决方法:

1. 拉取PR对应的分支到本地

GitHub提供了便捷的方式直接拉取任意PR的分支内容,执行这条命令:

git fetch origin pull/17/head:pr-17

这条命令的意思是:从远程origin仓库拉取PR#17的头部分支,并在本地创建一个名为pr-17的分支来保存它。执行后,你本地就有了这个PR里所有提交的副本,包括你要的那个b9f49977bac269be90807dc27c9931517c84ff15提交。

2. 执行Cherry-Pick命令

现在本地已经有了目标提交,再重新运行你之前的命令就可以了:

git cherry-pick b9f49977bac269be90807dc27c9931517c84ff15

额外小技巧

如果这个PR里只有你需要的这一个提交,也可以跳过创建本地分支的步骤,直接拉取后cherry-pick:

git fetch origin pull/17/head
git cherry-pick FETCH_HEAD

FETCH_HEAD会指向你刚刚拉取的远程分支的最后一个提交,正好是你要的这个提交的话就可以直接用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:40:12