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

如何创建继承feat1代码但忽略提交历史的Git新分支?

规范实现方式

有两种更高效且符合Git规范的方法,无需手动复制文件:

方法一:使用git checkout直接覆盖

  • 确保当前工作区无未提交修改(如有,先执行git stash暂存)
  • 切换到main分支并同步最新代码:
    git checkout main && git pull
    
  • 创建并切换到干净的新分支:
    git checkout -b feat1-clean
    
  • 将feat1分支的所有文件内容覆盖到当前分支:
    git checkout feat1 -- .
    
  • 此时Git会将所有差异识别为工作区的全新修改,直接提交即可:
    git add . && git commit -m "feat1: 迁移完整代码作为全新修改"
    

方法二:使用git read-tree快速覆盖

如果需要更直接的目录树替换,可以用git read-tree命令,一步完成暂存区和工作区的覆盖:

  • 完成上述方法的前3步(切换到main、创建新分支)
  • 执行以下命令:
    git read-tree -u feat1
    
  • 直接提交修改:
    git commit -m "feat1: 迁移完整代码作为全新修改"
    

这两种方法都能避免手动复制可能遗漏的隐藏文件、忽略文件,全程在Git环境内操作,更安全高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 23:55:26