git撤销提交


通过版本库的右键“Git GUI Here”打开可视化Git,在Repository->Visualize xxx History可以看到本地仓库的提交历史。

找到需要回滚的 SHA1 ID 版本号,或使用HEAD^/HEAD^^方式,可以通过revert或reset回滚撤销提交,两者的区别是:

reset soft

撤销提交并放回暂存区

git reset --soft HEAD^

reset hard

reset: 重置当前HEAD到指定节点,一旦重置,历史将不会出现放弃区间的过往提交记录(并且会删除提交的文件)
注意,使用 --hard 选项会丢弃自上次提交以来的所有工作,所以请谨慎使用。
Reset current HEAD to the specified state

git reset --hard HEAD^
git push origin master -f

revert

revert: 还原某些现有提交,需要重新提交,对版本历史没影响,只会产生多一次提交记录。
Revert some existing commits

git revert HEAD
git push origin master

git revert 会创建一个新的提交来撤销指定的提交,而不是修改历史记录。如果你的提交已经被其他人拉取或你不想修改历史记录,可以使用这个方法。

或者可以git resert [SHA1 ID],如:

$ git resert bc5be82cedd927901f8f36970b24563cbdbfb21c

原文链接:https://blog.yongit.com/note/137640.html