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

如何用其他分支代码覆盖Git指定目录并保留提交历史

用Git实现指定分支目录完整覆盖目标分支对应目录(保留提交历史)

以下是满足需求的具体操作步骤,全程通过Git命令完成,无需复制粘贴代码,也不会触发冲突:

  • 切换到目标分支 B-frontend:

    git checkout B-frontend
    
  • 使用 git read-tree 命令直接将 A-backend 分支的 /backend 目录内容覆盖到当前分支对应目录:

    git read-tree --prefix=backend/ A-backend:backend/
    

    这个命令会直接替换当前分支 backend 目录的整个树结构,完全采用 A-backend 分支对应目录的内容,不会产生任何冲突提示。

  • 提交这次目录更新:

    git commit -m "Overwrite backend directory with content from A-backend branch"
    

说明

  • 该操作会保留 A-backend 分支中 /backend 目录的所有提交历史,后续可以通过 git log backend/ 查看该目录的完整历史记录。
  • 全程无需手动解决冲突,也没有使用"接受全部对方更改"的合并策略,完全通过Git的树结构操作实现目录覆盖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 15:27:03