撤回到上一个commit,保留修改的内容
git reset HEAD^撤回到上一个commit,不保留修改的内容
git reset --hard HEAD^ # --hard谨慎使用,因为其撤销的工作区内容不可恢复原理:采用的是重新提交,并覆盖最后一次 Git commit 的结果。
git reset 命令用于回退版本,可以指定退回某一次提交的版本。
git reset 命令语法格式如下:
git reset [--soft | --mixed | --hard] [HEAD]-mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
git reset [HEAD]实例
git reset HEAD^ # 回退所有内容到上一个版本 git reset HEAD^ hello.js # 回退 hello.js 文件的版本到上一个版本 git reset 052e # 回退到指定版本–soft 参数用于回退到某个版本,git add之后,commit 之前,并保留当前工作区文件内容修改
git reset --soft HEAD实例
git reset --soft HEAD~3 # 回退上上上一个版本–hard 参数 撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交:
git reset --hard HEAD实例
git reset --hard HEAD~3 # 回退上上上一个版本 git reset --hard bae128 # 回退到某个版本回退点之前的所有信息。 git reset --hard origin/master # 将本地的状态回退到和远程的一样注意:谨慎使用 –hard 参数,它会删除回退点之前的所有信息,所撤销的工作区未提交的内容不可恢复
查看当前仓库git的所有操作记录
git reflog终极奥义:可以通过git reset 与 git reflog回滚一切操作,包治百病。
查看 当前分支 的commit log
git log可以通过git reset 与 git log回滚到指定的HEAD。
