删除文件
当文件删除(也属于修改)也会被 Git 跟踪到状态。
$ git status
On branch master
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
deleted: test.txt
no changes added to commit (use "git add" and/or "git commit -a")
当前状态属于 “工作区与版本库不一致”,若需要彻底删除(即删除版本库里的文件),通过以下命令:
执行 git rm 命令:
$ git rm test.txt
rm 'test.txt'
执行 git commit 命令(同步到版本库):
$ git commit -m "remove test.txt"
[master d46f35e] remove test.txt
1 file changed, 1 deletion(-)
delete mode 100644 test.txt
现在文件就从版本库中被删除了。
提示:先手动删除文件,然后执行 git rm < file > 和 git add < file > 效果一致。
误删恢复
执行 git checkout – file 命令即可。
注意:
- git checkout 其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
- 从未被添加到版本库就被删除的文件,是无法恢复的。