欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

廖雪峰的Git学习笔记 - 2 - 删除文件 - linux(rm)(删文件) - (git rm)(删除)

程序员文章站 2022-03-09 14:26:37
...

git add test.txt

Git中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txtGit并且提交:

廖雪峰的Git学习笔记 - 2 - 删除文件 - linux(rm)(删文件) - (git rm)(删除)


rm test.txt

一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了:

廖雪峰的Git学习笔记 - 2 - 删除文件 - linux(rm)(删文件) - (git rm)(删除)

小提示:先手动删除文件,然后使用git rm <file>git add<file>效果是一样的。

现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit
(确认删除,并提交)

git rm test.txt

git commit -m “*******”

廖雪峰的Git学习笔记 - 2 - 删除文件 - linux(rm)(删文件) - (git rm)(删除)

git reset - hard

恢复方法:git reset --hard 16afcf0
廖雪峰的Git学习笔记 - 2 - 删除文件 - linux(rm)(删文件) - (git rm)(删除)

rm test.txt

git checkout – test.txt

另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:

$ git checkout -- test.txt

廖雪峰的Git学习笔记 - 2 - 删除文件 - linux(rm)(删文件) - (git rm)(删除)

git checkout其实用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
(我的理解:但是,提交之后,就关闭了还原的权限)

\color{#ff0011}{ 注意:从来没有被添加到版本库就被删除的文件,是无法恢复的!}

小结

命令git rm用于删除一个文件。

如果一个文件已经被提交到版本库,那么你永远不用担心误删,
但是要小心,你只能恢复文件到最新版本(???用 git reset --hard <head> 不行吗,回到不是最新版本???),你会丢失最近一次提交后你修改的内容。