【git】Idea使用 Undo Commit,Revert Commit,Drop Commit区别

【git】Idea使用 Undo Commit,Revert Commit,Drop Commit区别_第1张图片

一、Undo Commit

适用情况:代码修改完了,已经Commit了,但是还未push,然后发现还有地方需要修改,但是又不想增加一个新的Commit记录。这时可以进行Undo Commit,修改后再重新Commit。

如果已经进行了Push,线上的Commit记录还是会存在的

简单来说,就是撤销了你Commit的这个动作。详细解释下:

1、首先,对项目进行了代码修改,然后进行commit操作。
【git】Idea使用 Undo Commit,Revert Commit,Drop Commit区别_第2张图片

2、确认Commit之后(未进行push)
【git】Idea使用 Undo Commit,Revert Commit,Drop Commit区别_第3张图片

3、进行Undo Commit操作
【git】Idea使用 Undo Commit,Revert Commit,Drop Commit区别_第4张图片

执行后和未Commit之前完全一样。
【git】Idea使用 Undo Commit,Revert Commit,Drop Commit区别_第5张图片

二、Revert Commit

会新建一个 Revert “xxx Commit”的Commit记录,该记录进行的操作是将"xxx Commit"中对代码进行的修改全部撤销掉。

1、首先,对项目进行了代码修改,然后进行commit操作。

【git】Idea使用 Undo Commit,Revert Commit,Drop Commit区别_第6张图片

Commit之后:
【git】Idea使用 Undo Commit,Revert Commit,Drop Commit区别_第7张图片

2、进行Revert Commit

【git】Idea使用 Undo Commit,Revert Commit,Drop Commit区别_第8张图片

执行成功后:

可以看到,新增了Commit 记录【Revert “测试Revert Commit”】,该记录中将【测试Revert Commit】中对代码进行的修改删除了。

【git】Idea使用 Undo Commit,Revert Commit,Drop Commit区别_第9张图片

三、Drop Commit(慎用)

未push的Commit记录:

会删除Commit记录,同时Commit中对代码进行的修改也会全部被删除

已push的Commit记录:

区别在于线上的Commit记录不会被删除

1、修改代码,然后进行Commit

【git】Idea使用 Undo Commit,Revert Commit,Drop Commit区别_第10张图片
【git】Idea使用 Undo Commit,Revert Commit,Drop Commit区别_第11张图片

2、进行Drop Commit操作后

Commit 记录被删除,代码修改也被删除。
【git】Idea使用 Undo Commit,Revert Commit,Drop Commit区别_第12张图片

3、已push的Commit记录

【git】Idea使用 Undo Commit,Revert Commit,Drop Commit区别_第13张图片

你可能感兴趣的:(idea,java,intellij-idea)