注意: 从来没有被添加到版本库(git commit)就被删除的文件,是无法恢复的!
以下操作的条件是:被删除文件已经提交到版本库。
一般情况下,如果一个文件没用就可以直接删除,或者用rm命令删了:
rm test.txt
此时Git知道你删除了文件,因此,工作区和版本库就不一致了,通过git status可以查看。
如果确定就是不想要了,那就要把版本库也删除,方法为用命令git rm删掉,并且git commit。
git rm try.txt
git commit -m "del try.txt"
如果还想要,就要从版本库恢复:
git checkout -- try.txt
补充:
命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,就可以恢复,但是只能恢复文件到最新版本,所以会丢失最近一次提交后又修改的内容。
特别要说的是:
如果直接用git rm删除文件,那么不仅在工作区删除了文件,还添加到了暂存区,此时如果发现误删了,就要git reset --hard head来回退工作区和暂存区(或者是git reset HEAD file再git checkout – file)。
所以:
git rm # 删除工作区,添加到暂存区
rm # 仅删除工作区