**一:撤銷修改:**
比如我現在在readme.txt文件里面增加一行 內容為555555555555,我們先通過命令查看如下:

在我未提交之前,我發現添加5555555555555內容有誤,所以我得馬上恢復以前的版本,現在我可以有如下幾種方法可以做修改:
第一:如果我知道要刪掉那些內容的話,直接手動更改去掉那些需要的文件,然后add添加到暫存區,最后commit掉。
第二:我可以按以前的方法直接恢復到上一個版本。使用 `git reset --hard HEAD^`
但是現在我不想使用上面的2種方法,我想直接想使用撤銷命令該如何操作呢?首先在做撤銷之前,我們可以先用 `git status` 查看下當前的狀態。如下所示:

可以發現,Git會告訴你,`git checkout -- file` 可以丟棄工作區的修改,如下命令:
`git checkout -- readme.txt`,如下所示:

命令 `git checkout --readme.txt` 意思就是,把readme.txt文件在工作區做的修改全部撤銷,這里有2種情況,如下:
1. readme.txt自動修改后,還沒有放到暫存區,使用 撤銷修改就回到和版本庫一模一樣的狀態。
2. 另外一種是readme.txt已經放入暫存區了,接著又作了修改,撤銷修改就回到添加暫存區后的狀態。
對于第二種情況,我想我們繼續做demo來看下,假如現在我對readme.txt添加一行 內容為6666666666666,我`git add` 增加到暫存區后,接著添加內容7777777,我想通過撤銷命令讓其回到暫存區后的狀態。如下所示:

注意:命令`git checkout -- readme.txt` 中的 `--` 很重要,如果沒有 `--` 的話,那么命令變成創建分支了。
**二:刪除文件。**
假如我現在版本庫testgit目錄添加一個文件b.txt,然后提交。如下:

如上:一般情況下,可以直接在文件目錄中把文件刪了,或者使用如上rm命令:`rm b.txt` ,如果我想徹底從版本庫中刪掉了此文件的話,可以再執行commit命令 提交掉,現在目錄是這樣的,

只要沒有commit之前,如果我想在版本庫中恢復此文件如何操作呢?
可以使用如下命令 `git checkout -- b.txt`,如下所示:

再來看看我們testgit目錄,添加了3個文件了。如下所示:
