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

执行git pull master时如何保留本地分支已提交文件不被覆盖?

操作步骤
  1. 确认本地状态:先执行 git status 确保你的本地分支所有修改都已提交,工作区处于干净状态(你提到已提交,这步做二次确认即可)。

  2. 拉取远程master最新代码

    • 方式一(切换分支拉取):
      • 切到本地master分支:git checkout master
      • 拉取远程master的最新更新:git pull origin master
      • 切回你的工作分支:git checkout 你的分支名称
    • 方式二(无需切换分支):
      • 直接拉取远程所有分支的最新状态:git fetch origin
  3. 合并master到本地分支

    • 如果用了方式一,执行:git merge master
    • 如果用了方式二,执行:git merge origin/master
      执行后Git会检测到冲突——因为master删除了文件但你的分支保留了对应内容。
  4. 解决冲突并保留本地文件

    • 对于那些被master删除但你需要保留的文件,执行 git add 文件名,告诉Git你要保留该文件的本地版本。
    • 所有冲突处理完成后,提交合并结果:git commit(Git会自动生成合并提交信息,直接保存退出编辑器即可)。
  5. 推送更新到远程

    • 最后把合并后的本地分支推送到远程:git push origin 你的分支名称

可选:用Rebase替代Merge

如果你偏好线性提交历史,可以用rebase操作:

  • 执行 git rebase origin/master(前提已经fetch过远程master)
  • 遇到冲突时,同样用 git add 文件名 标记保留本地文件,然后执行 git rebase --continue
  • 重复直到rebase完成,最后推送:git push origin 你的分支名称 --force-with-lease(注意:rebase后推送需要强制推送,但--force-with-lease比直接--force更安全)

内容的提问来源于stack exchange,提问作者Daywison Ferreira Leal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 13:20:37