git还原操作git reset、git revert和git checkout区别

1、git checkout
使用场景:误删除仓库当中还存在的文件或者撤销未提交的修改
git checkout 1.php

2、git reset
使用常见:已commit或已commit并push
git reset [–hard|soft|mixed|merge|keep] [<commit>或HEAD]:将当前的分支重设(reset)到指定的<commit>或者HEAD(默认,如果不显示指定commit,默认是HEAD,即最新的一次提交),并且根据[mode]有可能更新index和working directory。mode的取值可以是hard、soft、mixed、merged、keep。下面来详细说明每种模式的意义和效果。
查看提交历史
git log
commit 3
commit 2
commit 1
执行
git reset –hard HEAD~1
或者git reset –hard HEAD^
再执行git log
commit 2
commit 1
git status没有任何内容
git reset –soft HEAD~1
git status会显示上次提交的文件
如果–hard回滚之后需强制推才可以!!

3、git revert
git rever HEAD^
git rever -n commitId
解决冲突,提交,push