如何通过Git Merge覆盖仓库指定文件夹,保留历史与其他文件修改?
把refactor分支的Frontend覆盖到main分支,同时保留main的Backend修改
操作步骤
更新本地分支到最新状态
- 切换到main分支并拉取远程最新代码:
git checkout main git pull origin main - 切换到refactor分支并拉取远程最新代码:
git checkout refactor git pull origin refactor
- 切换到main分支并拉取远程最新代码:
执行合并操作
切换回main分支,运行以下命令完成合并:git checkout main git merge -s recursive -X theirs=./Frontend refactor这个命令会自动处理冲突:Frontend目录下的所有内容直接采用refactor分支的版本,Backend目录因refactor分支未做修改,会保留main分支的最新改动,同时完整保留refactor分支的提交历史。
验证合并结果
可以通过git status查看文件状态,或者直接检查Frontend、Backend目录的内容,确认是否符合预期。推送合并结果到远程
git push origin main
内容的提问来源于stack exchange,提问作者mTv
相关产品推荐
相关产品推荐

