Git 回退已 push 到远端的提交
Git 回退已 push 到远端的提交
回退已 push 到远端的提交,最方便的是 git reset
再 git 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>