Git Reset命令

Git Reset:将处于Commit区的提交重置。

Git分为三个区: 工作区(Working Directory):没有修改、修改后未使用git add的文件 暂存区(Staged):新增/修改后的文件调用git add后都会被添加到暂存区 提交区(Commit):所有添加到暂存区里的文件通过git commit之后会被统一添加到提交区,作为一次提交

HEAD指针指向的是最新的提交节点。而HEAD^代表的是前一次的提交节点。而HEAD~2代表的是前两次的提交节点。

git reset --soft HEAD^:将最近一次提交节点的提交记录回退到暂存区 git reset --mixed HEAD^:将最近一次提交节点的提交记录回退到工作区 git reset --hard HEAD^:将最近一次提交节点的提交记录全部清除

EP: 在Master分支中,首先通过git add test.txt将test.txt文件添加到暂存区,再通过git commit -m "add file test.txt "将暂存区的内容作为一次提交记录添加到提交区,最后如果没问题的话就可以通过git push origin master将这次提交push到远端仓库。

使用 如果此时发现提交记录的comment写错了,如将git commit -m "add file test.txt"写成了git commit -m "ad file test.txt",那么就可以使用: git reset --soft HEAD^将本次提交回退到暂存区,再重新把comment补全,进行一次提交。

如果此时发现提交记录里有一个文件多提交了,或者有一个文件漏添加到暂存区而没有在此次提交内,则可以通过git reset --mixed HEAD^将本次提交都回退到没有添加到暂存区之前,然后再重新add需要提交的文件后,再重新add

如果此时发现修复一个BUG完全错了,希望取消这次提交,并且把代码回退到没有改动的话,则需要使用git reset --hard HEAD^,来将这次提交全部回退。

暂存区回退操作

如果Test.txt文件已经被git add添加到了暂存区中,想要将该文件回退到工作区(Working Directory)的话,则使用git reset HEAD Test.txt,则将修改后的文件回退到了未被add的状态

工作区回退操作

如果Test.txt文件已经被改得乱七八糟了,想要把这个文件回退到最近一次更新的代码的话,则需要使用git checkout -- Test.txt将该文件回到与HEAD的状态

所有文件回到HEAD指针位置

如果工程里面改的乱七八糟了,不仅仅只有一个Test.txt文件被修改,需要将工作区里面的所有文件恢复到HEAD指针的状态的话,则使用git reset --hard HEAD即可

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Git基本操作

    git init:在本地初始化Git仓库 git clone:从Remote端下载代码 git pull:从Remote端同步代码 git push:将L...

    None_Ling
  • Android滑动卡顿问题查找与优化

    Android使用的绘制引擎是Skia,而App中的动画、2D绘制、SVG矢量图都是通过该绘制引擎进行绘制,并且通过显卡输出到渲染的Buffer中,用户才能看到...

    None_Ling
  • Java线程池---ThreadPoolExecutor中的ctl变量

    ThreadPoolExecutor中有一个控制状态的属性叫ctl,它是一个AtomicInteger类型的变量,它包含两个概念:

    None_Ling
  • 某CMS后台拿shell

    接触渗透时间,按暑假来算的话已经2个月多了,接触渗透几天,瞎打瞎闹拿了个shell,之后各种查资料查姿势,终于提权成功了。 然后就自认为渗透真简单,天天批量扫注...

    用户1467662
  • git 入门教程之基本概念 原

    了解工作区,暂存区和版本库的区别和联系有助于我们更好理解 git 的工作流程,了解命令的操作意图.

    雪之梦技术驿站
  • lnmp应用服务器安装手册

    -创建配置文件目录/usr/local/webserver/nginx/conf/vhosts

    用户7657330
  • Ubuntu环境编译安装PHP和Nginx的方法

    本文实例讲述了Ubuntu环境编译安装PHP和Nginx的方法。分享给大家供大家参考,具体如下:

    砸漏
  • git 入门教程之删除文件 原

    回忆一下文件的常见操作,新增文件,修改文件,删除文件等,新增和修改文件都单独讨论过,现在我们来研究一下如何删除文件.

    雪之梦技术驿站
  • Burp Suite 2.1.05专业版本的破解与汉化

    2019年11月1日,PortSwigger官方发布了Burp Suite Professional 2.1.05最新版本,第一时间给大家分享Burp ...

    洛米唯熊
  • SpringBoot电商项目实战 — 前后端分离后的优雅部署

    在如今的SpringBoot微服务项目中,前后端分离已成为业界标准使用方式,通过使用nginx等代理方式有效的进行解耦,并且前后端分离会为以后的大型分布式架构、...

    攻城狮的那点事

扫码关注云+社区

领取腾讯云代金券