IntelliJ Idea 撤回git已经push的操作

最初的样子

现在的样子

解决方案

第一步,commit到本地撤回:

打开提交历史记录,选中回退的版本右键,点击"Reset Current Branch to Here...",然后选中"Mixed",点击Reset后,之前commit的代码会在本地显示未提交的。修改之后继续正常提交即可。

第二步,push到远程仓库的撤回

需要idea和git指令配合使用,

  1. 选中要回退到分支,右键"Copy Revision Number",

  2. 然后调出"Reset Head"窗口,项目名上->右击->git->Reset HEAD...,

    Reset Type :Hard

    To Commit:粘贴第一步拷贝的Revision Number

    点击reset后,之前提交的代码会丢失,需要做好本地备份,做完该操作以后远程仓库的提交记录还存在,需用git 指令强制提交到远程仓库。

  3. git push -f 强制提交

    打开项目所在位置,打开git bash here 执行"git push -f ",远程仓库的提交记录就没有了。

Notices: 可以在git上先copy一个新的branch,然后再执行以上操作,这样之前的代码也会保留。

成功

相关推荐
zzzzls~2 小时前
Vibe Coding 最佳实践:Claude Code 检查点回溯与 Git 自动存档每轮对话
git·ai·claude·vibe coding·checkpointing
小王师傅662 小时前
【轻松入门SpringBoot】actuator健康检查(上)
java·spring boot·后端
醒过来摸鱼2 小时前
Java classloader
java·开发语言·python
专注于大数据技术栈3 小时前
java学习--StringBuilder
java·学习
loosenivy3 小时前
企业银行账户归属地查询接口如何用Java调用
java·企业银行账户归属地·企业账户查询接口·企业银行账户查询
IT 行者3 小时前
Spring Security 6.x 迁移到 7.0 的完整步骤
java·spring·oauth2
JIngJaneIL3 小时前
基于java+ vue农产投入线上管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
东东的脑洞3 小时前
【面试突击二】JAVA基础知识-volatile、synchronized与ReentrantLock深度对比
java·面试
ssshooter3 小时前
彻底搞懂 SSH 与 Git 的“幕后交易”
git·github·全栈
川贝枇杷膏cbppg3 小时前
Redis 的 AOF
java·数据库·redis