一、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不會 | 不會 |