IDEA中使用Git Reset进行回退

一. 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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值