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

如何取消git pull的fast-forward模式直接删除本地文件?

解决Git Pull自动删除本地文件的问题

首先得明确:你现在遇到的情况是Git认为远程仓库的状态(删除README.md)是“正确”的,所以后续pull会通过fast-forward同步这个删除操作。要阻止它自动删本地文件,得让Git知道你要保留这个文件,并且解决本地和远程的状态分歧,具体步骤如下:

1. 先恢复本地的README.md文件(如果已经被删除)

如果刚才pull后本地的README.md已经没了,先从Git历史里把它找回来:

# 从最近的一次包含该文件的提交中恢复
git checkout HEAD~1 -- README.md

或者如果不确定提交记录,也可以用更简洁的命令:

git restore README.md

这会把文件从Git的对象库中恢复到你的工作区。

2. 让Git确认你要保留这个文件

现在本地的README.md回来了,但远程仓库里它还是被删除的状态。你需要告诉Git,本地的版本是你想要保留的,执行以下操作:

# 将文件重新加入Git跟踪
git add README.md
# 提交这个变更,说明你要保留该文件
git commit -m "Keep README.md and restore it in repository"

3. 同步到远程(可选但推荐)

如果你希望远程仓库也恢复这个文件,避免后续再出现类似问题,执行push:

git push

这样远程仓库也会重新有README.md,之后再pull就不会出现自动删除的情况了。

如果你只想本地保留,不想同步到远程

如果你不想让远程仓库恢复这个文件,只是自己本地保留,可以把README.md设为未跟踪状态,同时让Git忽略它的变更:

  1. 先把它从Git的跟踪列表中移除(不会删除本地文件):
git rm --cached README.md
  1. 在.gitignore文件中添加一行,让Git忽略这个文件:
echo "README.md" >> .gitignore

这样Git就不会再跟踪这个文件的状态,后续pull的时候也不会因为远程的删除操作而同步删除本地的文件了。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:43:39