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

如何将其他Fork的单个Commit合并到我的Fork(排除前后提交)

只合并特定Commit到自己的Fork仓库

Git命令操作

  • 添加另一个Fork作为远程仓库:
    git remote add other-fork <另一个Fork的仓库URL>
    
  • 拉取该仓库的提交记录(仅获取,不合并):
    git fetch other-fork
    
  • 复制目标Commit的哈希值(可从对方仓库的提交页面获取),执行cherry-pick只引入该提交的更改:
    git cherry-pick <目标Commit的哈希值>
    
  • 若出现冲突,手动解决文件冲突后,执行:
    git add .
    git cherry-pick --continue
    
    要是想放弃这次操作,执行:
    git cherry-pick --abort
    
  • 最后推送到自己的远程仓库:
    git push origin <你的本地分支名>
    

SourceTree可视化操作

  • 打开自己的仓库,点击顶部菜单栏「仓库」→「添加远程仓库」,输入另一个Fork的地址和自定义名称(比如other-fork),确认添加。
  • 点击顶部「拉取」按钮,在弹出的窗口中,远程仓库选择刚添加的other-fork,勾选「仅获取(Fetch)」选项,点击「拉取」。
  • 在左侧侧边栏的「远程」分组下找到other-fork,展开后右键点击对应的分支,选择「查看提交」。
  • 在提交列表里找到目标Commit,右键点击它,选择「Cherry pick...」。
  • 在弹出的窗口中,确认要合并到的本地分支,点击「确定」。
  • 若出现冲突,SourceTree会提示冲突文件,手动解决后点击界面上的「继续Cherry Pick」;如果要放弃操作,点击「中止Cherry Pick」。
  • 完成后点击顶部「推送」按钮,将更改推送到自己的远程仓库。

补充说明

之前拉取时引入所有前置提交,是因为git pull本质是git fetch + git merge,会把对方分支的完整提交历史合并过来。而cherry-pick只会提取单个Commit的代码更改,不会带入其前后的提交记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:45:34