回滚已经commit但未push到远程仓库的代码
- 点击git,然后右键选择你要退回的那条记录,选择undo commit(撤销提交) ,代码回滚就完成了! 此操作只是回滚,并不会删除你的操作内容
回滚已经push到远程仓库的代码
1. 先回滚提交到本地仓库的代码
-
选择需要回滚到那个版本的提交记录,右键点击【Reset Current Branch to Here…】
-
弹出的窗口选择【Hard】再点击【Reset】
Soft:回滚到指定版本,并保留所有更改,这些更改将被重新提交。使用这种模式,你可以撤销已经提交的更改,然后重新提交。
Mixed:回滚到指定版本,并保留所有更改,但是更改将不会被重新提交(文件进入到Unversioned Files中)。使用这种模式,你可以撤销已经提交的更改,并保留这些更改,以备后续修改和提交。
Hard:回滚到指定版本,并删除指定版本之后的所有更改。使用这种模式,你可以完全撤销指定版本之后的所有更改。
Keep:回滚到指定版本,但是保留指定版本之后的更改。使用这种模式,你可以撤销指定版本之后的更改,并保留这些更改,以备后续修改和提交。 -
以上步骤会将本地的代码回滚到指定的版本
2. 再回滚提交远程仓库的代码
-
选择需要回退到的指定提交记录,右键选择【Copy Revision Number】
-
选中项目,右键选择【Git】再点击【Reset HEAD…】
-
弹出的窗口中,Reset Type选择【Hard】,To Commit选项的值为第一步骤中【Copy Revision Number】的值,最后点击【Reset】
-
此时 git push 会报错,因为版本不一致,打开项目路径窗口也就是IDEA最底部的【Terminal】,执行命令【git push origin HEAD --force】或者命令【git push -f】同步至远程,避免版本不一致后续提交报错
-
以上步骤会将远程的代码回滚到指定的版本