0


idea撤销git add或者commit或者push的文件

一、Undo Commit

某次在idea中执行commit后(未push), 发现提交代码错误了想撤回。适用于代码修改完了,已经commit,但是还未push,但是commit里面的有提交错误的代码,这时候可以使用Undo commit,修改后再commit。

commit提交了一次测试记录(未push),新增了代码。(如下图)

Undo Commit后之前提交的记录就不见了。

二、reset current branch to here

这个和第一个的效果是一样的。(适用于已commit,但是还没有push的)

这里是选择哪次提交的记录,就直接操作当前选中的信息。

1.Soft:回滚到指定版本,并保留所有更改,这些更改将被重新提交。使用这种模式,你可以撤销已经提交的更改,然后重新提交。

2.Mixed:回滚到指定版本,并保留所有更改,但是更改将不会被重新提交(文件进入到Unversioned Files中)。使用这种模式,你可以撤销已经提交的更改,并保留这些更改,以备后续修改和提交。

3.Hard:回滚到指定版本,并删除指定版本之后的所有更改。使用这种模式,你可以完全撤销指定版本之后的所有更改。

4.Keep:回滚到指定版本,但是保留指定版本之后的更改。使用这种模式,你可以撤销指定版本之后的更改,并保留这些更改,以备后续修改和提交。

结果

三、Reset HEAD

注意:此退回是不管你commit没push,还是commit已经push好了,都会退回到你指定的版本号。

1.选择对应提交的记录右击——Copy Revision Number ; 复制commit的编号

2.回退到对应的版本

3.输入第一步复制的commit编号

这个的Reset Type有三个可选参数:

1.mixed:默认方式,不删除工作空间改动代码,

撤销commit

撤销git add 

操作,回退到工作区。

2.soft:回退到某个版本,不删除工作空间改动代码,

撤销commit

不撤销git add 

操作,回退到git commit之前,此时处在暂存区。(即执行git add 命令后)

3.hard:彻底回退,撤销commit和add 删除本地改动的代码。(修改的代码内容会全部丢失,直接退回到某个版本,需要谨慎使用)

这是已经push过的代码。

在To Commit中的HEAD后面加上^,Reset Type选择默认方式,点击Reset即可撤回最近一次的尚未push的commit

执行后的结果。

4.push回退的代码(IDEA下方选择Terminal——命令行输入git push -f ;强行推送到远程仓库)

一定要执行这个命令,现在删除的还是本地的,仓库里面的还没有进行改动!!没有强推的话下次拉取还是会把之前的代码拉下来的。

5.完成后的结果

标签: intellij-idea git java

本文转载自: https://blog.csdn.net/qq_48025216/article/details/135824833
版权归原作者 你还有牵挂吗 所有, 如有侵权,请联系我们删除。

“idea撤销git add或者commit或者push的文件”的评论:

还没有评论