已经 push 提交的 commit 被一堆人批评了,本地改后,想重新提交。
或者push到远端后发现commit了多余的文件
或者希望能够回退到以前的版本。

先本地回退

一般回退到不想要的提交之前的一个版本即可,覆盖那个不要的提交。q

git reset  <版本号>

使用 --hard 参数会抛弃当前工作区的修改(我都写了肯定不行)
使用 --soft 参数的话会回退到之前的版本,但是保留当前工作区的修改,可以重新提交(就是这样,我本地写好了想直接 push)

此时直接 push
git push origin <分支名>

会提示本地的版本落后于远端的版本;
为覆盖掉远端的版本信息,使远端的仓库也回退相应版本,加上参数–force

git push origin <分支名> --force