1 如果文件还没有commit但是保存了修改,使用checkout加文件名回到上一次commit的样子
2 修改最后一次提交的信息 git commit --amend
3 git revert <SHA> 会回到该sha之前的样子,但是会生成一条新的commit。安全,不会篡改历史记录
4 如果你commit了但是还没有push,git reset --hard <last good SHA>可以回到sha提交后的样子
还有rebase等更复杂的分支处理方式https://blog.github.com/2015-06-08-how-to-undo-almost-anything-with-git/