场景1:当你改乱了工做区某个文件的内容,想直接丢弃工做区的修改时,用命令git checkout -- file
。git
场景2:当你不但改乱了工做区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file
,就回到了场景1,第二步按场景1操做。ide
HEAD指向的版本就是当前版本,所以,Git容许咱们在版本的历史之间穿梭,使用命令git reset --hard commit_id
。code
或者使用 git reset --hard HEAD^
回退上一个版本。it
穿梭前,用git log
能够查看提交历史,以便肯定要回退到哪一个版本。class
要重返将来,用git reflog
查看命令历史,以便肯定要回到将来的哪一个版本。file