查看日志

 1 waren@waren-PC MINGW64 /learngit (master)
 2 $ git log
 3 commit 467af0290b395492e609dc5dce3abc8b74e8f77a
 4 Author: 魏燃 <759525748@qq.com>
 5 Date:   Thu Aug 3 09:28:34 2017 +0800
 6 
 7     append GPL
 8 
 9 commit dfacb388bde4c017cb42a71301af5b427da99dd7
10 Author: 魏燃 <759525748@qq.com>
11 Date:   Thu Aug 3 09:09:06 2017 +0800
12 
13     add distributed
14 
15 commit 677a042ec3c2723b4f047e1b2a7c1eff46c515c8
16 Author: 魏燃 <759525748@qq.com>
17 Date:   Thu Aug 3 09:01:27 2017 +0800
18 
19     wrote a readme file

查看日志简略版

1 waren@waren-PC MINGW64 /learngit (master)
2 $ git log --pretty=oneline
3 467af0290b395492e609dc5dce3abc8b74e8f77a append GPL
4 dfacb388bde4c017cb42a71301af5b427da99dd7 add distributed
5 677a042ec3c2723b4f047e1b2a7c1eff46c515c8 wrote a readme file

回退到上个版本

1 waren@waren-PC MINGW64 /learngit (master)
2 $ git reset --hard HEAD^
3 HEAD is now at dfacb38 add distributed

 

回退到指定版本

上个版本是 git reset --hard HEAD^

上上个版本是 git reset --hard HEAD^

往上n个版本git reset --hard HEAD~n

 

恢复回退的版本

waren@waren-PC MINGW64 /learngit (master)
$ git log --pretty=oneline
467af0290b395492e609dc5dce3abc8b74e8f77a append GPL
dfacb388bde4c017cb42a71301af5b427da99dd7 add distributed
677a042ec3c2723b4f047e1b2a7c1eff46c515c8 wrote a readme file

waren@waren-PC MINGW64 /learngit (master)
$ git reset --hard HEAD^
HEAD is now at dfacb38 add distributed

waren@waren-PC MINGW64 /learngit (master)
$ git reset --hard 467af02
HEAD is now at 467af02 append GPL

查看git修改的每一条命令,并随时恢复到指定版本

 1 waren@waren-PC MINGW64 /learngit (master)
 2 $ git reflog
 3 467af02 HEAD@{0}: reset: moving to 467af02
 4 dfacb38 HEAD@{1}: reset: moving to HEAD^
 5 467af02 HEAD@{2}: reset: moving to 467af02
 6 dfacb38 HEAD@{3}: reset: moving to HEAD^
 7 467af02 HEAD@{4}: commit: append GPL
 8 dfacb38 HEAD@{5}: commit: add distributed
 9 677a042 HEAD@{6}: commit (initial): wrote a readme file
10 
11 waren@waren-PC MINGW64 /learngit (master)
12 $ git reset --hard 467af02