idea 选中commit Reset Current Branch 到你想要恢复的commit记录

Soft:你之前写的不会改变,你之前暂存过的文件还在暂存。

Mixed:你之前写的不会改变,你之前暂存过的文件不会暂存。

Hard:文件恢复到所选提交状态,任何更改都会丢失。 你已经提交了,然后你又在本地更改了,如果你选hard,那么提交的内容和你提交后又本地修改未提交的内容都会丢失。

keep:任何本地更改都将丢失,文件将恢复到所选提交的状态,但本地更改将保持不变。 你已经提交了,然后你又在本地更改了,如果你选keep,那么提交的内容会丢失,你提交后又本地修改未提交的内容不会丢失。

git reset --hard HEAD^ 可以本地删掉最后一个commit。

git push --force-with-lease 推送到远程删掉最后一个commit。

git cherry-pick HASH 最后本地恢复最后一个commit。