一.修复更早的commit

  1》没有push,但不是最近的commit

  git commit --squash  <SHA>    创建新commit                          HEAD^~:HEAD~4往前第4个,倒数第五个

                  --fixup                    不提示为新合并的commit

  git rebase --autosquash -i        激活交互式的rebase编辑器,从顶端到底部运用commit

                 -i (修改的话,把pick——>reword;squash/fixup)                         大量的撤销,恢复

二.停止追踪一个文件

git rm --cashed

三.撤销已公开的改变

git revert

四.修正最后一个commit消息

git commit --amend -m

五.撤销本地修改(没commit)

git checkout 

六.重置本地修改(commit后但没push)

git reset --hard(撤销提交和修改内容)

    六、1-----撤销本地修改后再恢复  

         git reflog /git reset/git checkout