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

如何将本地分支中未推送的提交迁移至另一全新克隆的分支?

可行,以下是两种常用实现方法

方法一:使用git cherry-pick迁移提交

  • 在原本地仓库中,执行git log --oneline,记录下所有未推送提交的哈希值(比如要迁移从提交abc123到def456的一系列提交)。
  • 切换到新克隆的仓库,创建并切换到目标分支(如果已有目标分支直接切换即可):git checkout -b target-branch
  • 执行迁移命令:
    • 迁移单个提交:git cherry-pick <提交哈希>
    • 迁移连续的多个提交:git cherry-pick <起始提交哈希>..<结束提交哈希>
  • 若遇到冲突,手动解决文件冲突后,执行git cherry-pick --continue继续迁移;若要放弃迁移,执行git cherry-pick --abort

方法二:使用补丁文件迁移

  • 在原本地仓库中,生成未推送提交的补丁文件:git format-patch <远程跟踪分支名>..<本地分支名>,执行后会生成每个提交对应的.patch文件。
  • 将所有.patch文件复制到新克隆的仓库目录下。
  • 切换到新仓库的目标分支,执行git am *.patch批量应用补丁。
  • 若遇到冲突,解决冲突后执行git am --continue;放弃则执行git am --abort

注意事项

  • 确保新仓库的目标分支基础与原提交的基础分支版本一致,能减少冲突概率。
  • 若提交数量较多,使用补丁文件的方式会更便于批量迁移。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 13:35:26