###撤销修改
1 .如果文件没有提交到占存区 git checkout -- a.text
~~~
windo@DESKTOP-7GRK6A0 MINGW64 ~/GITTEST (master)
$ git status
On branch master
Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git checkout -- ..." to discard changes in working directory)
modified: a.txt
no changes added to commit (use "git add" and/or "git commit -a")
windo@DESKTOP-7GRK6A0 MINGW64 ~/GITTEST (master)
$ git checkout -- a.txt
windo@DESKTOP-7GRK6A0 MINGW64 ~/GITTEST (master)
$ git status
On branch master
nothing to commit, working tree clean
~~~
2 . 如果文件提交到了占存区,但是还没有提交 git reset HEAD a.txt
~~~
$ git status
On branch master
Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git checkout -- ..." to discard changes in working directory)
modified: a.txt
no changes added to commit (use "git add" and/or "git commit -a")
windo@DESKTOP-7GRK6A0 MINGW64 ~/GITTEST (master)
$ git add a.txt a.txt a.txt a.txt
windo@DESKTOP-7GRK6A0 MINGW64 ~/GITTEST (master)
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD ..." to unstage)
modified: a.txt
windo@DESKTOP-7GRK6A0 MINGW64 ~/GITTEST (master)
$ git reset HEAD a.txt
Unstaged changes after reset:
M a.txt
windo@DESKTOP-7GRK6A0 MINGW64 ~/GITTEST (master)
$ git status
On branch master
Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git checkout -- ..." to discard changes in working directory)
modified: a.txt
no changes added to commit (use "git add" and/or "git commit -a")
windo@DESKTOP-7GRK6A0 MINGW64 ~/GITTEST (master)
$ git checkout -- a.txt
windo@DESKTOP-7GRK6A0 MINGW64 ~/GITTEST (master)
$ git status
On branch master
nothing to commit, working tree clean
windo@DESKTOP-7GRK6A0 MINGW64 ~/GITTEST (master)
~~~