一. working tree, index, 的理解

这三个名字可以简单理解为文件在本地仓库存在的三种不同的位置。
如下,是做commit提交两段提交过程,工作区(working tree),暂存区(index)和 branch(commit)。

1、working tree:就是你所工作在的目录,每当你在代码中进行了修改,working tree的状态就改变了。
2、index file:是索引文件,它是连接working tree和commit的桥梁,每当我们使用git-add命令来登记后,index file的内容就改变了,此时index file就和working tree同步了。
3、commit:是最后的阶段,只有commit了,我们的代码才真正进入了git仓库。我们使用git-commit就是将index file里的内容提交到commit中。


二、idea中的git reset操作

1、这里会显示有历史提交的版本记录(这里我们假设要回滚到 “提交” 版本中)

2、复制想要回退版本的版本号

3、 回到项目,右键选择Reset HEAD,Reset Type选择Mixed,To Commit处黏贴刚刚复制的版本号;然后点击Reset按钮

Reset Type
(1)、Mixed是默认方式。只保留源码,会回退 commit 和 index 的信息;
(2)、Soft 回退到某个版本。只回退了 commit 的信息,之前写的代码还是保留的,不会回退 index file 的内容。如果还要提交,直接 commit;
(3)、Hard 彻底回退,本地源码也会变成上一个版本内容,不保留之前 commit 的代码。
To Commit是回滚到哪个版本,例如,HEAD 为当前版本,HEAD^ 为上一个版本;
注: 使用 git reset 回滚,一般使用默认的 mixed 或者粗暴的 hard 方式。

4、此时本地代码已经回退到历史版本,若直接push代码,会发生冲突,下面有两种处理冲突的方式,

方式一: 强制reset 的操作,在远程仓库中同步,达到删除错误push 的目的(不建议使用该方式:使用该方式回退到某一历史版本,该历史版本后的提交记录将被清除!)

git push origin HEAD --force

IDEA中使用Git Reset进行回退相关推荐

  1. git reset(回退add操作)

    在git的一般使用中,如果发现错误的将不想提交的文件add进入index之后,想回退取消,则可以使用命令:git reset HEAD <file>...,同时git add完毕之后,gi ...

  2. a commit git 参数是什么意思_Git中的git reset的三种参数的区别

    我们平时在使用git的时候,经常会遇到需要撤销上次操作的需求,这时候需要用到git reset的这个命令,他的使用就是 "git-reset – Reset current HEAD to ...

  3. Git——版本回退【git reset / git log / git reflog】

    前言:下面是在版本回退中常用的命令. 1. git log -- 查看版本日志 $ git log   HEAD为当前指向的版本指针.使用git log 查看版本日志后,显示了它们的版本号是一系列SH ...

  4. Git使用 从入门到入土 收藏吃灰系列 (九) git reset 移除暂存区与版本回退

    文章目录 一.前言 二.Git远程命令实践 2.1git reset 移除暂存区 2.2 git log+git reflog+git reset 版本回退 一.前言 参考安装Git 详细安装教程 参 ...

  5. git版本回退(git reset、git revert、git stash)

    文章目录 回退的两种情况 1.已 commit,未push到远程仓库. 1.1 git reset --soft (撤销commit) 1.2 git commit --amend(修改commit ...

  6. Git快速入门-git stash 暂存变更,git reset 撤销commit,git revert 回退远程版本库

    Git快速入门系列文章 - Git快速入门-安装配置篇 - Git快速入门-常用命令之独奏篇 - Git快速入门-常用命令之交响乐篇 - Git快速入门-git stash 暂存变更,git rese ...

  7. 使用git reset回退版本

    1.git log命令介绍 在介绍版本回退之前先介绍下如何git log命令,可以查看我们的提交历史记录. git log 多页时,空格向下翻页,b向上翻页,q退出 git log --pretty= ...

  8. Git使用命令行回退版本git reset --hard

    git log--oneline --oneline 标记的作用是把每一个提交信息压缩为一行.默认情况下只会展示提交 ID与提交信息的首行.git log --oneline的结果如下 方法一: gi ...

  9. git reset --soft 版本回退多了,怎么恢复?

    正常可能是想git reset --soft 回退到上一版本,不小心回退到了历史的某个版本,本地出现了一堆未提交的文件,想恢复到最新版本,怎么搞? git reset --soft 使用回退多了,说白 ...

最新文章

  1. 2020-11-7(http协议简介)
  2. JAVA_HOME和CLASSPATH设置
  3. 【原创】2009个性签名和流行语搜集
  4. 嵌套集合模型(Nested set model)介绍
  5. Java Swing/AWT和GTK混合GUI编程
  6. html中加变量怎么加,javascript – 如何将变量插入HTML
  7. redhat linux 7 安装,Redhat Linux 7.3 快速安装指引 *
  8. [Windows]msvcr110.dll运行库缺失问题解决方案
  9. 广州黄埔香雪地铁口总价35万一套。
  10. 笔记本WIFI无法上网(无Internet访问权限)
  11. 和block循环引用说再见
  12. 使用R进行pubmed爬虫
  13. 计算机网络基础课后习题,《计算机网络技术基础》课后习题参考答案
  14. 「兔了个兔」看我如何抓取兔兔图片到本地(附源码)
  15. python 异常重试模块retry
  16. 自定义注解+切面处理+全局异常处理
  17. php artisan command,从php函数运行artisan命令
  18. Win10连接投影仪画面不是全屏怎么办
  19. python之freshman00
  20. 想学设计模式、想搞架构设计,先学学 UML 系统建模吧

热门文章

  1. 服务器为什么要封海外,UDP攻击是什么
  2. DSPTMS320F28335_SCI详解
  3. 灌南县计算机中专学校,江苏省灌南中等专业学校2021年招生简章
  4. oracle常用函数使用大全 (Oracle除法)
  5. 量子计算机预言未来,科学家预测,未来5-10年内,将出现家用量子计算机
  6. Centos7端口映射(云端最后别忘了在安全组开放80端口!!!!!!!!!)
  7. admi后台 vue_Vue+ElementUI的后台管理框架
  8. 订单30分钟未支付自动取消怎么实现?
  9. mac苹果下载VSCode最全步骤
  10. ZedBoard的初步学习-通信设置