如何用其他分支代码覆盖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
相关产品推荐
相关产品推荐

