一、Undo Commit
适用情况:代码修改完了,已经Commit了,但是还未push,然后发现还有地方需要修改,但是又不想增加一个新的Commit记录。这时可以进行Undo Commit,修改后再重新Commit。如果已经进行了Push,线上的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不会 | 不会 |