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

如何使用Git从原有分支拆分部分代码创建新分支

Git 从现有分支拆分部分代码为新分支的方法

在同一分支上有多个功能需要分批上线时,可根据需求选择以下两种常见拆分方式:

一、按指定提交记录拆分

适用于要拆分的功能对应完整提交历史的场景:

  • 切换到原有开发分支,确保代码为最新状态:
    git checkout dev
    git pull
    
  • 查看提交历史,定位需要拆分的提交哈希值(比如commit-A、commit-B,这两个提交属于要单独上线的功能):
    git log --oneline
    
  • 基于目标上线的基础分支(比如稳定分支prod)创建新分支:
    git checkout prod
    git checkout -b feature-batch-1
    
  • 将需要的提交逐个 Cherry-pick 到新分支:
    git cherry-pick commit-A commit-B
    
    • 若遇到冲突,手动解决冲突后执行git cherry-pick --continue;若需跳过当前提交,执行git cherry-pick --skip

二、按文件/代码块拆分

适用于要拆分的功能仅涉及部分文件或代码片段,无独立提交历史的场景:

  • 切换到原有开发分支,创建新分支:
    git checkout dev
    git checkout -b feature-partial
    
  • 撤销新分支中不需要上线的代码:
    • 撤销整个文件(恢复到稳定分支prod的状态):
      git checkout prod -- path/to/unwanted-file.vue
      
    • 撤销部分代码块:执行git reset -p,按提示选择要撤销的代码片段;或用git add -p选择要保留的代码后提交
  • 提交新分支的修改,仅保留需要上线的代码:
    git commit -m "保留需分批上线的功能代码"
    
  • 回到原有开发分支,若需移除已拆分的代码,重复上述撤销步骤并提交即可

注意事项

  • 操作前建议备份原有分支,避免数据丢失:
    git branch dev-backup
    
  • Cherry-pick 后若原有分支不再需要这些提交,可在原有分支上执行git revert commit-A commit-B撤销对应修改

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 23:47:28