idea中的git reset
1. working tree, index, commit的理解
这三个名字可以简单理解为文件在本地仓库存在的三种不同的位置。
如下,是做commit提交两段提交过程,工作区(working tree),暂存区(index)和 branch(commit)。
- working tree:就是你所工作在的目录,每当你在代码中进行了修改,working tree的状态就改变了。
- index file:是索引文件,它是连接working tree和commit的桥梁,每当我们使用git-add命令来登记后,index file的内容就改变了,此时index file就和working tree同步了。
- commit:是最后的阶段,只有commit了,我们的代码才真正进入了git仓库。我们使用git-commit就是将index file里的内容提交到commit中。
2. idea中的git reset操作
git reset 是回滚操作
- Reset Type
(1)、Mixed是默认方式。只保留源码,会回退 commit 和 index 的信息;
(2)、Soft 回退到某个版本。只回退了 commit 的信息,之前写的代码还是保留的,不会恢复到 index file 一级。如果还要提交,直接 commit;
(3)、Hard 彻底回退,本地源码也会变成上一个版本内容,不保留之前 commit 的代码。 - To Commit
是回滚到哪个版本,例如,HEAD 为当前版本,HEAD^ 为上一个版本;
注: 使用 git reset 回滚,一般使用默认的 mixed 或者粗暴的 hard 方式。
可以参考的博文链接:https://blog.csdn.net/qq_22638399/article/details/80847205