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

如何将本地多个已提交未推送的Git commit迁移至新分支

可行,以下是最高效的本地操作方法

完全可以实现你的需求,操作步骤简单且安全,具体如下(假设你当前在原分支,比如main或master):

  1. 创建包含未推送commit的新分支
    运行命令:

    git checkout -b 新分支名称
    

    比如你可以命名为local-unpushed-commits,这条命令会直接创建新分支并切换过去,此时新分支已经包含了那10个本地未推送的commit。

  2. 切换回原分支并重置到远程同步状态
    先切回原分支:

    git checkout 原分支名称
    

    然后将原分支重置到和远程仓库完全一致的状态(即去掉那10个未推送的commit):

    git reset --hard origin/原分支名称
    

    (比如原分支是main,就用git reset --hard origin/main)

    注意:--hard参数会清除原分支上所有未提交的本地修改,但你的10个commit已经被迁移到新分支,所以不会丢失。执行前可以用git log origin/原分支名称..HEAD确认本地比远程多的commit数量确实是10个,避免误操作。

  3. 后续联网后的推送操作
    等可以联网时,切换到新分支:

    git checkout 新分支名称
    

    然后推送到远程仓库:

    git push origin 新分支名称
    

    这样远程仓库就会创建这个新分支,并同步那10个commit。

内容的提问来源于stack exchange,提问作者g.pickardou

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 13:15:54