git status中显示为 deleted 状态的如何回退,不再为deleted状态

在 git status 中显示为 deleted: 的文件,表示这些文件已从工作区中删除,但 Git 仍在跟踪它们。以下是几种方式来回退这种状态,使 deleted: 不再显示:


1. 恢复已删除的文件到工作区

如果希望恢复被删除的文件,可以从 Git 历史中将它们恢复出来:

bash 复制代码
git checkout HEAD -- <file_name>

或者恢复所有被删除的文件:

bash 复制代码
git checkout HEAD -- .
结果

这将从当前分支的最后一次提交中恢复被删除的文件到工作目录,git status 中的 deleted: 不再显示。


2. 停止 Git 跟踪这些文件

如果不需要恢复这些文件,但希望删除文件的状态不再显示,可以让 Git 停止跟踪这些文件:

bash 复制代码
git rm --cached <file_name>

或者一次性移除所有被删除的文件:

bash 复制代码
git rm --cached $(git ls-files --deleted)
结果

这会让 Git 停止跟踪这些文件,但不会删除工作目录中的其他文件。随后 git status 中将不再显示 deleted: 状态。


3. 将删除的更改提交到 Git

如果文件确实是被删除的,并且希望将删除操作记录到 Git 中,可以直接提交删除:

bash 复制代码
git add -u
git commit -m "Remove deleted files"
结果

git status 中的 deleted: 文件会变成 nothing to commit, working tree clean。


总结:

  • 如果要恢复文件,使用 方法 1。
  • 如果要停止 Git 跟踪文件,使用 方法 2。
  • 如果确认文件已删除并提交,使用 方法 3。

选择适合您需求的方法执行即可!

相关推荐
louisgeek6 小时前
Git submodule 子模块
git
imDwAaY7 小时前
6篇文章讲清楚Git:Git 实用技巧:暂存现场、挑选提交与定位 Bug (5/6)
git·后端
imDwAaY7 小时前
6篇文章讲清楚Git:Git 团队开发实践:从 Pull Request 到版本发布 (6/6)
git·后端
誰能久伴不乏19 小时前
看懂 Git 团队协作全流程:分支、提交、PR、rebase 到底在干嘛
git
sunshine22 girl1 天前
git tag-项目流程
git
imDwAaY2 天前
6篇文章讲清楚Git:Git 远程协作:fetch、pull、push 到底有什么区别?(3/6)
git·后端
imDwAaY2 天前
6篇文章讲清楚Git:Git 撤销与恢复:reset、revert、restore 应该怎么选?(4/6)
git
用户73309646123092 天前
再也不怕手滑丢代码!给 git 高危操作加一层安全校验
git
广白2 天前
Git Tag 实战:从出包追溯到版本发布
前端·git·面试
Winlifes7 天前
我给 Codex 做了一个 Git 面板:分支树、提交历史和工作区操作
git