如果推送了多余或者错误的文件,是有必要撤销推送的,不然可能会对其他协同人员造成巨大的影响。

选择想要回退到的版本

idea Add gitlab account怎么解决_提交状态

这里一定要选择想要回退到的版本,如果选择错误提交的版本,相当于回到错误版本,没有意义。

这里是重置的四个选项,对应了不同的操作,需要谨慎选择。

idea Add gitlab account怎么解决_重置_02

  • Soft

在选择的回退点之后的所有更改将会保留并被 Git 追踪下来。

这就意味着回退到了未提交状态。

可以在 Local Changes 中的 Changes 查看到它们。

这种方式刚好回退到了推送前的状态,最符合撤销的期望,推荐选择

  • Mixed

在选择的回退点之后的所有更改将会保留但不会被 Git 追踪下来。

这就意味着回退到了未添加状态。

可以在 Local Changes 中的 Unversioned Files 查看到它们。

  • Hard

在选择的回退点之后的所有更改都会被丢弃(包括未提交和已提交的文件)。

这种方式会删除回退点之后的所有文件,影响巨大,除非真的有此需要,否则不推荐使用

  • Keep

在选择的回退点之后的所有已提交的更改会被丢弃,但未提交的文件会被完整地保存下来。

选择模式后点击 Reset 即可回退

idea Add gitlab account怎么解决_推送_03

此时只是本地回退了,并没有影响到远程,所以还需要推送

idea Add gitlab account怎么解决_提交状态_04

这里没有看到可推送的内容,因为确实没有提交文件供推送。

此时要想影响到远程需要选择强制推送

idea Add gitlab account怎么解决_重置_05

强制推送不可选择,这是因为对主分支有保护,需要更改设置。

idea Add gitlab account怎么解决_重置_06

去掉保护的分支,保存

idea Add gitlab account怎么解决_git_07

再次推送,发现有强制推送的选项了。

idea Add gitlab account怎么解决_重置_08

idea Add gitlab account怎么解决_git_09

idea Add gitlab account怎么解决_提交状态_10

强制推送完成,查看本地日志。

idea Add gitlab account怎么解决_git_11

已经没有想撤销的那次推送记录了。

查看 Gitee 上是否回退

idea Add gitlab account怎么解决_git_12

Gitee 上也没有了想撤销的推送记录,撤销成功。