Undo Commit(本地代码不会被删除)
适用情况: 代码修改完了,已经Commit了,但是还未push,然后发现还有地方需要修改,但是又不想增加一个新的Commit记录。这时可以进行Undo Commit,修改后再重新Commit。如果已经进行了Push,如果进行Undo Commit,本地Commit记录不会存在,但是线上的Commit记录还是会存在的。
Revert Commit(本地代码会被删除)
适用情况: 代码修改完了,已经Commit了,已经push,然后发现本次提交不能提交。
Drop Commit(本地代码会被删除)
适用情况:
未push的Commit记录: 会删除Commit记录,同时Commit中对代码进行的修改也会全部被删除。
已push的Commit记录: 区别在于线上的Commit记录不会被删除。
总结
| 是否删除对代码的修改 | 是否删除Commit记录 | 是否会新增Commit记录 | |
|---|---|---|---|
| Undo Commit | 不会 | 未Push会,已Push不会 | 不会 |
| Revert Commit | 会 | 不会 | 会 |
| Drop Commit | 会 | 未Push会,已Push不会 | 不会 |