idea中的git reset

1. working tree, index, commit的理解

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

  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中。

2. idea中的git reset操作

git reset 是回滚操作
idea中的git reset

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

注: 使用 git reset 回滚,一般使用默认的 mixed 或者粗暴的 hard 方式。

可以参考的博文链接:https://blog.csdn.net/qq_22638399/article/details/80847205