已修改,未暂存(检查工作区与暂存区间的差异)
git diff
已暂存,未提交(检查暂存区与本地仓库间的差异)
git diff --cached
已提交,未推送(检查本地仓库与远程仓库间的修改)
git diff master origin/master
## origin/master 为远程仓库
已修改,未暂存(撤销工作区的修改)
git reset --hard
已暂存,未提交(撤销暂存区的修改)
git reset --hard
已提交,未推送(撤销本地仓库的修改)
git reset --hard origin/master
## origin/master 为把远程仓库的代码取回并覆盖本地代码
已推送(撤销远程仓库的修改)
git reset --hard HEAD^
git push -f
## 此时本地仓库和远程仓库是一样的
## 1.第一步先恢复本地仓库
## 2.第二步再强制同步本地仓库到远程仓库
原文:https://www.cnblogs.com/windseek/p/9296773.html