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