Git中,每次commit提交都会生成一个历史纪录。使用 git log
查看commit历史:
1 | $ git log --oneline |
每个记录都有一个与之对应的commit id,所以可以使用命令git reset --hard commit_id
来回退到相应的版本。除此之卡,在Git中,使用HEAD来代表当前版本,如需回退到前一个版本,可以使用命令git reset --hard HEAD^
,前两个版本则用HEAD~2
表示,以此类推。
当前版本id为ec88247…比如,现要回退到commit_id为47384c8…的版本,可以使用如下命令:
1 | $ git reset --hard 47384c8 |
或:
1 | $ git reset --hard HEAD^ |
再次查看commit历史:
1 | $ git log --oneline |
可发现,commit_id为ec88247…的记录已经不见了,如果要回退到这个版本,又忘记了与之对应的commit_id该怎么办呢。这时候可以使用git reflog
命令来查看操作历史:
1 | $ git reflog |
可看到,回退到commit_id为47384c8…的上一个版本的commit_id为ec88247…,所以,使用如下命令即可回到一开始回退前的版本:
1 | $ git reset --hard ec88247 |