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

Git如何保留分支中被master删除的文件并重新推送至master

操作指引

以下为可直接执行的操作流程,可根据你的实际场景选择对应步骤:

场景1:你尚未合并master变更到自己的开发分支

  • 先切换到你的开发分支,确认所有本地开发进度已提交:
    git checkout <你的开发分支名称>
    git status
    # 如有未提交的变更,执行以下命令保存
    git add .
    git commit -m "chore: 保存开发中未完成内容"
    
  • 拉取远程master的最新变更(不合并):
    git fetch origin master
  • 将master最新变更合并到你的开发分支,合并过程中保留你开发的文件:
    git merge origin/master
    合并时如果出现文件删除冲突,执行以下命令保留你的文件版本:
    git checkout --ours <被删除的文件完整路径>
  • 所有冲突处理完毕后,提交合并结果:
    git add .
    git commit -m "merge: 合并master最新变更,保留本地开发文件"
    
  • 测试当前分支功能正常后,合并到master并推送:
    git checkout master
    git merge <你的开发分支名称>
    git push origin master
    

场景2:你已拉取master变更到本地,文件已被删除且未提交

  • 直接从你的开发分支恢复所有被删除的文件即可:
    单文件恢复:git checkout <你的开发分支名称> -- <被删除的文件路径>
    批量恢复所有被master删除的文件:
    git diff --name-only --diff-filter=D origin/master | xargs git checkout <你的开发分支名称> --
  • 确认文件恢复、功能正常后,提交修改再执行git push origin master即可。

注意:操作前建议先对本地工作区做全量备份,避免误操作导致代码丢失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 09:30:05