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

推送前未新建分支,如何将已合入master的历史提交拆分到独立分支

Git提交拆分操作步骤
  • 先同步本地master与远程仓库的最新内容
git checkout master
git pull origin master
  • 基于当前master新建独立功能分支newbranch
git checkout -b newbranch
  • 执行git log --oneline查找提交D对应的哈希值,将newbranch回退到D提交的位置,移除该分支上不需要的E、F提交
git reset --hard <D提交的哈希值>
  • 切换回master分支,使用交互式变基移除C、D提交
git checkout master
git rebase -i <B提交的哈希值>

在弹出的编辑界面中,将C、D两行前的pick修改为drop,保存退出后Git会自动生成移除C、D后的提交序列,即A - B - E - F。如果变基过程中出现代码冲突,修改冲突文件后执行git add <冲突文件名>,再执行git rebase --continue即可完成流程。

  • 推送修改后的内容到远程仓库
# 强制推送修改后的master分支,仅适用于你自己fork的仓库
git push -f origin master
# 推送新建的功能分支到远程
git push origin newbranch
注意事项
  • 强制推送会覆盖远程master的提交历史,请确认操作前已经完成内容备份,且仅操作你自己拥有完全权限的fork仓库,不要向上游原仓库执行强制推送
  • 如果提交C、D和后续的E、F存在代码依赖,变基后需要验证master分支的功能可用性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 01:30:04