Git 回退已 push 到远端的提交

回退已 push 到远端的提交,最方便的是 git resetgit push -f。多人协作情况下,这里 -f 的强制提交比较危险,会影响他人。

这种场景更加推荐使用 git revert

git-revert

git revert 会回退指定提交并生成新的记录,看起来就是一次正常代码修改之后的提交,所以不需要强制 push,不会对别人造成影响。

用法

回退最近一次提交:

$ git revert HEAD

回退上上次提交:

$ git revert HEAD^

不生成提交记录

也可通过 --no-commit 配置该命令不生成提交记录,无痕回退:

$ git revert HEAD --no-commit

回退多个提交

指定提交范围可回退多个提交:

$ git revert <first_bad_commit>..<last_bad_commit>

相关资源