1. 查看提交历史记录
git log
2. 查看当前文件状态
git status
一、未add加入缓存区
1. 放弃单个文件修改内容
git checkout -- filepathname
如:git checkout -- readme.md
2. 放弃所有修改的内容
git checkout .
二、已add加入缓存区
1. 放弃指定文件内容的缓存
git reset HEAD filepathname
2. 放弃所有文件内容的缓存
git reset HEAD .
该命令只是清除git对于文件修改的缓存,相当于撤销了git add的操作,所以本地的文件并不会删除,只是回到了(一)中的未加入缓存状态,如果删除文件,再使用(一)中的命令,放弃本地的修改
三、已经git commit提交
1. 回到上一次commit的状态(只撤销commit,保留工作空间代码)
git reset --soft HEAD~1
2. 回退到任意版本(如:想要撤销第二次的commit,commitid则是第一次的commitId,
就是将reset一下HEAD,指向第一次的commit)
git reset --hard commitid
四、已经push到远程仓库
1. git log --pretty=oneline 显示简洁日志
2. git reset --hard 提交id 恢复到当前版本id的内容
3. git push -f 强制推送至远程分支(因为此时版本低于远程分支,所以需要强推)