Git放弃本地修改

1. 本地修改尚未执行git addgit commit

放弃本地修改单个文件

1
$ git checkout -- filename

放弃本地修改的所有文件

1
$ git checkout .

2. 本地修改已经执行git add但尚未执行git commit

撤销单个修改文件缓存

1
$ git reset HEAD filename

撤销所有修改文件缓存

1
$ git reset HEAD

这个命令只是撤销git add,本地的文件修改并不会撤销,如果要进一步撤销文件的修改还需要执行git checkout -- filename命令

3. 本地修改已经执行了git commit

回退到上一次commit的状态

1
$ git reset --hard HEAD^

回退到任意版本,可以使用git log查看提交历史和commit

1
$ git reset --hard commitID