Java技术栈程序员工具癖

(三)Git--文件删除

2017-03-13  本文已影响50人  程序员七哥

在Git中删除也是一个修改操作,我们实际操作如下:

$ git add .
$ git commit -m "add test.txt"
[master c291807] add test.txt
 1 files changed, 69 insertions(+), 16 deletions(-)
 create mode 100644 test.txt

一般情况下,我们直接在文件管理系统中把没用的文件删除了,或者使用rm命令删除文件:
$ rm test.txt
这个时候,Git检测到你删除了文件,因此,工作区和版本库就不一致了,git status命令查看哪些文件被删除了:

$ 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给出的提示,我们有两个选择,一是确实要从版本库删除文件,那就使用git rm file删掉,并且git commit:

$ git rm test.txt
rm 'test.txt'
$ git commit -m "remove test.txt"
[master 3fafa4a] remove test.txt
 1 file changed, 2 deletions(-)
 delete mode 100644 test.txt

现在,文件就从版本库删除了.
另外一种情况是我们删错了,因为版本库里还有,因此可以轻松的把误删的文件恢复到最新版本:
$ git checkout -- test.txt
git checkout其实就是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以快速复原.

小结
git rm file命令用于删除一个文件。
如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是只能恢复到最新提交到版本库的版本,提交之后的修改内容将会丢失。

上一篇下一篇

猜你喜欢

热点阅读