【Git 第10课】 版本回退

上次说到,若是你已经提交了代码,可是又后悔了,想要放弃此次的改动,回到以前的版本。这时候就须要作版本回退。git


咱们先在工做目录中运行 git log 命令,看看到目前为止的提交记录:web


commit 81e34d1d269b13bb23619d828495119492eabc5aorm

Author: Crossin rem

Date:   Thu Nov 28 17:27:34 2013 +0800it


    remove filetest


commit 1edcbf15f45359768b3fa9cd99ddddde792912feimport

Author: Crossin file

Date:   Thu Nov 28 15:16:37 2013 +0800webkit


    add file to be deletedim


commit 15547cb5e6bb661a4b9934c1ea55fe0aeceb0682

Author: Crossin 

Date:   Tue Nov 26 14:39:06 2013 +0800


    test file status


commit c1310cffd37c4b7fe765986035e54a3c27c2887f

Author: Crossin 

Date:   Tue Nov 26 14:11:46 2013 +0800


    init readme


也许你的提交历史和我不同,这不要紧。


还记得咱们前面课里说过的 HEAD,它指向的是最新的提交。而上一次的提交就是 HEAD^,上上次是 HEAD^^,也能够写成 HEAD~2,以此类推。以前30次版本就是 HEAD~30,或者你愿意也能够打30个^。


要回退上一个版本,只要:


git reset --hard HEAD^


--hard 表示放弃全部的本地改动,其余的可选模式咱们先无论。


输出提示:

HEAD is now at 1edcbf1 add file to be deleted


HEAD 已经被移动回“add file to be deleted”这个版本。


若是想要移动到某个指定的提交,也能够直接使用提交id,就是 git log 里,commit 后面的一串字符(你的版本中的提交 id 和我是不同的)。


git reset --hard 15547


id 不用输全,前几位就够,git 会自动去找匹配的提交。而后就能够看到:


HEAD is now at 15547cb test file status


相关文章
相关标签/搜索