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

如何将本地已提交的git commit移动到新创建的分支中?

Git操作步骤

你的场景是master分支存在10个未推送的本地提交,需要将这些提交迁移到全新分支留存,同时将master恢复到提交前的版本继续开发,操作流程如下:

1. 前置处理(针对未暂存的修改)

你当前有未提交的改动,根据你的需求选择处理方式:

  • 如果要把这些改动放到新分支留存:可以暂存后先提交,也可以直接执行 git stash 临时缓存改动
  • 如果不需要保留这些改动:可以直接忽略,后续重置操作会自动清空

2. 创建新分支保存本地提交

两种常用操作顺序,选其一即可:

方式一:先创建分支留存,再重置master

# 基于当前master的HEAD创建新分支,不会切换当前分支
git branch <替换为你的新分支名>
# 将master分支指针重置到和远程origin/master一致的状态,即10个本地提交之前的版本
git reset --hard origin/master
# 如果你之前用stash缓存了要在master上继续开发的改动,执行以下命令恢复
git stash pop

方式二:先切换到新分支确认内容,再重置master

# 创建并切换到新分支,此时新分支已包含所有10个本地提交
git checkout -b <替换为你的新分支名>
# 如果要把未暂存改动也存到新分支,在此处执行add、commit即可
git add .
git commit -m "补充提交未暂存的改动"
# 切回master分支
git checkout master
# 重置master到远程版本
git reset --hard origin/master

3. 结果验证

  • 执行 git status 查看master状态,会提示 Your branch is up to date with 'origin/master',代表重置成功
  • 执行 git log <新分支名> 可以查看所有留存的本地提交,确认内容无缺失

⚠️ 注意:git reset --hard 会清空当前工作区未提交、未缓存的改动,操作前请确认不需要的改动可以丢弃,需要保留的改动已经提交或缓存到stash。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 19:27:04