文章目录
- 前言
- undo commit
- reset current branch to here
Undo Commit,Revert Commit,Drop Commit的区别
是否删除对代码的修改 | 是否删除Commit记录 | 是否会新增Commit记录 | |
---|---|---|---|
Undo Commit | 不会 | 未Push会,已Push不会 | 不会 |
Revert Commit | 会 | 不会 | 会 |
Drop Commit | 会 | 未Push会,已Push不会 | 不会 |
前言
某次在idea中执行commit后(未push), 发现提交代码错误了想撤回,此篇文章整理这种情况下如何撤回。
如下图:(commit提交了一次测试记录(未push),新增了Test.java文件)
undo commit
适用情况:代码修改完了,已经Commit了,但是还未push,然后发现还有地方需要修改不想提交本次记录了。这时可以进行Undo Commit,修改后再重新Commit。
如果已经进行了Push,线上的Commit记录还是会存在的
简单来说,就是撤销了你Commit的这个动作。详细解释下:
1、首先,对项目进行了代码修改,然后进行commit操作。
2、确认Commit之后(未进行push)
3、进行Undo Commit操作
右键要撤销的记录,选择undo commit
执行后和未Commit之前完全一样, 而且commit记录也没了
reset current branch to here
适用情况:已commit未push
右键错误记录的上一次记录,然后选择reset current branch to here,选择Mixed
撤销后会把commit记录删除掉,提交的文件进入到Unversioned Files目录中
- Soft:回滚到指定版本,并保留所有更改,这些更改将被重新提交。使用这种模式,你可以撤销已经提交的更改,然后重新提交。
- Mixed:回滚到指定版本,并保留所有更改,但是更改将不会被重新提交(文件进入到Unversioned Files中)。使用这种模式,你可以撤销已经提交的更改,并保留这些更改,以备后续修改和提交。
- Hard:回滚到指定版本,并删除指定版本之后的所有更改。使用这种模式,你可以完全撤销指定版本之后的所有更改。
- Keep:回滚到指定版本,但是保留指定版本之后的更改。使用这种模式,你可以撤销指定版本之后的更改,并保留这些更改,以备后续修改和提交。
keep和hard撤销后会把文件也删除掉,强烈建议不要使用或者慎用