Git 10 IDEA撤销推送

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

1、选择想要回退到的版本。

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

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

Soft

在选择的回退点之后的所有更改将会保留并被 Git 追踪。这就意味着回退到了未提交状态,会将文件放到 Local Changes 中的 Changes 下面。

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

Mixed

在选择的回退点之后的所有更改将会保留但不会被 Git 追踪。这就意味着回退到了未添加状态,会将文件放到 Local Changes 中的 Unversioned Files 下面。

Hard

在选择的回退点之后的所有更改都会被丢弃(包括未提交和已提交的文件)。这种方式会删除回退点之后的所有文件,影响巨大,除非真的有此需要,否则不推荐使用

Keep

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

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

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

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

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

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

去掉保护的分支,保存

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

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

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

10、查看远程仓库上是否存在那条推送记录。

可以看到,Gitee 上也没有了想撤销的推送记录,撤销成功

注意

尽量还是在推送的时候谨慎,千万不要以为可以撤销就随意推送。

以上的撤销基于一个人改一个分支的代码没有问题,但如果多个人改一个分支的代码,因为每个人的推送时间不可控,如果别人在你执行撤销操作前推送了代码,这样的撤销是会将别人推送的代码也撤销掉的,非常危险


版本

Git:2.35.1.2

IDEA:2021.3.3

posted @ 2022-02-08 10:23  天航星  阅读(846)  评论(0编辑  收藏  举报