简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者
新书发布:《Android系统多媒体进阶实战》🚀
优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀
优质专栏: 多媒体系统工程师系列【原创干货持续更新中……】🚀
优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门视频实战课 🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
🍉🍉🍉文章目录🍉🍉🍉
- 🌻1.前言
- 🌻2.git rm介绍
- 🌻3.未提交更改前,撤销解决方案
- 🐓3.1 方案一
- 🐓3.2 方案二
- 🌻4.提交更改后,撤销解决方案
- 🐓4.1 方案一
- 🐓4.2 方案二
🌻1.前言
本篇目的:在git操作中,误使用git rm -r后,该如何恢复?
🌻2.git rm介绍
- Git是一个功能强大的版本控制系统,广泛应用于各类软件开发项目中。在Git的使用过程中,我们经常需要对文件进行管理,包括添加、删除、修改等操作。今天,我们来详细介绍
git rm -r
命令的作用。 git rm -r
命令是Git中用于删除文件或目录的命令。其中,rm
是“remove”的缩写,表示删除;-r
是递归删除的选项,表示不仅删除指定目录下的文件,还会删除该目录下的所有子目录及其中的文件。
具体来说,git rm -r
命令的作用如下:
- 删除指定文件或目录:当我们需要从Git仓库中删除某个文件或目录时,可以使用
git rm -r
命令。例如,要删除名为“example.txt”的文件,可以使用git rm -r example.txt
。 - 删除所有子目录及其文件:当我们需要删除一个包含多个子目录的目录时,
-r
选项会递归删除该目录下的所有子目录及其中的文件。例如,要删除名为“dir”的目录及其所有子目录和文件,可以使用git rm -r dir
。 - 提交删除操作:使用
git rm -r
命令删除文件或目录后,需要执行git commit
命令提交删除操作,才能真正从Git仓库中删除这些文件。例如,提交删除操作的命令为git commit -m "删除了example.txt文件"
。 - 支持通配符:
git rm -r
命令支持通配符,可以一次性删除多个符合条件的文件或目录。例如,要删除所有以“.txt”结尾的文件,可以使用git rm -r *.txt
。 - 与分支和远程仓库交互:在使用
git rm -r
命令删除文件或目录后,如果需要将这些更改同步到其他分支或远程仓库,可以使用git push
命令。
需要注意的是,使用git rm -r
命令删除文件或目录时,有以下几点需要注意: - 删除操作不可逆:一旦执行
git rm -r
命令并提交删除操作,被删除的文件或目录将无法恢复。因此,在执行删除操作前,请务必确认是否真的需要删除这些文件。 - 慎用通配符:在使用通配符删除文件时,请确保符合通配符条件的文件都是需要删除的。否则,可能会误删重要文件。
- 删除空目录:如果要删除一个空目录,可以不使用
-r
选项,直接使用git rm
命令。
🌻3.未提交更改前,撤销解决方案
🐓3.1 方案一
- 使用 git reset 命令来撤销所有的更改
# git reset --hard
🐓3.2 方案二
- 恢复所有删除的文件
# git checkout .
🌻4.提交更改后,撤销解决方案
🐓4.1 方案一
- 使用 git revert 命令来创建一个新的提交,这个提交会撤销之前的删除操作
# git revert <commit_hash>
🐓4.2 方案二
- 想要完全撤销提交(不仅仅是撤销删除操作),可以使用 git reset 命令,但这通常涉及到更复杂的变基操作
# git reset --hard <commit_hash>