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

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

相关推荐
月初,1 天前
Git 常用操作大全(超详细教程)一文教会你完全使用Git
大数据·git·elasticsearch
李少兄1 天前
Git 忽略文件机制:.gitignore 与 .git/info/exclude
java·git·elasticsearch
github.com/starRTC1 天前
Claude Code中英文系列教程17:将Claude Code集成在GitLab工作流里面
git·gitlab·github
CCC:CarCrazeCurator1 天前
git merge与rebase的区别及实操心得体会
git
草莓熊Lotso1 天前
Qt 控件美化与交互进阶:透明度、光标、字体与 QSS 实战
android·java·开发语言·c++·人工智能·git·qt
小明同学011 天前
[C++进阶]深入理解二叉搜索树
开发语言·c++·git·visualstudio
muddjsv1 天前
Git Amend 完全解析:修改最近提交的正确姿势与避坑指南
git
ssxueyi1 天前
Git 完整安装与环境配置教程(Windows/macOS/Linux 通用)
windows·git·macos·项目管理·git教程·代码管理
摇滚侠1 天前
在 IDEA 中,GIT 合并分支时选择远程的 dev 分支和本地的 dev 分支,有区别吗
java·git·intellij-idea
可问春风_ren1 天前
Git命令大全
前端·javascript·git·后端