2.5 删除操作
> 本节假设你已经创建了版本库,路径为 d:\git-demo。如未创建,请参照 2.1 节先创建版本库。
创建测试文件,添加到版本库
本节需要删除文件,先创建一个测试文件 testdel.txt 添加到版本库,方便接下来场景的测试使用。
在 d:\git-demo 目录下创建文件 testdel.txt
内容如下:
thisfile will be deleted.
添加到暂存区
$git add testdel.txt
提交到版本库
$git commit -m"add a testdel file"
使用 git status 查看状态
$git status
场景一:在工作区删除一个文件,误操作,想要还原
将 testdel.txt 文件删除后发现是误操作,需要找回。
先使用 git status 查看下当前状态:
可以看到我们删除了文件,也被当做是一次修改,再次证实暂存区管理的是修改而不是文件。
幸运的是之前将这个文件添加到版本库中,所以我们可以从版本库中取到该文件的备份。
使用 git checkout 指令从版本库的备份中取出文件
$ git checkout-- testdel.txt
再次检查下 git-demo 目录,发现刚才删除的文件被找了回来。
场景二:在工作区删除一个文件,想要将版本库中该文件也删除
现在很明确要将 testdel.txt 文件删除;
分析需要删除两次,一次是删除工作区的该文件,一次是将版本库中最新备份中该文件删除;
删除本地工作区的 testdel.txt 文件:到 git-demo 目录下直接删除即可;
删除版本库中最新备份中的该文件,分两步走:
前面说到删除本地文件也是一个修改,将这个修改告诉暂存区;
// $ git rm $ git rm testdel.txt
将暂存区的修改提交给分支仓库
$git commit -m"remove testdel.txt"
到这里为止分支仓库中最新备份中的 testdel.txt 也就被删除了。
场景三:在工作区删除一个文件,版本库中也删除了该文件,后来发现又需要想要还原
事情总不像想象中那么简单,已经在版本库的最新版本备份中将 testdel.txt 文件删除了,想想又后悔了;
git 提供了极大的机动性,可以通过回到更久远之前的版本备份即可。
详细内容在 2.3 节已经讲解过,这里简要略过。