> 技术文档 > GIT 回退代码(idea里面 有块代码 commit了,但是没有push)_git撤销commit未push的代码

GIT 回退代码(idea里面 有块代码 commit了,但是没有push)_git撤销commit未push的代码


方法 1:直接撤销本地提交(推荐)

适用于完全丢弃这次提交的更改:

  1. 打开 Git 日志

    • 点击 IDEA 底部栏的 Git → Log(或按 Alt+9)。
    • 在提交记录中找到你要回退的 commit(通常是顶部最新的提交)。
  2. 撤销提交

    • 右键点击该提交 → 选择 Undo Commit(或 Revert Commit)。
    • Undo Commit:直接撤销提交,代码变更会回到暂存区(Staged Changes)。
      Revert Commit:生成一个新的反向提交(保留历史,适合已推送的场景,但此时未推送无需用此选项)。
  3. 处理撤销后的代码

    • 撤销后,代码会回到暂存区。如果需要彻底丢弃这些更改
    • 右键点击 Uncommitted Changes → Discard All Change

方法 2:通过 Git Reset 回退

适用于需要精确控制回退到某个版本

  1. ​​打开终端(IDEA 内置):

  • 点击 IDEA 底部栏的 Terminal
  • 执行命令
  • 软重置(保留代码变更)

  • git reset --soft HEAD~1

    撤销提交但保留代码变更在暂存区(可重新修改后提交)。

  • 混合重置(保留代码变更但取消暂存)

  • git reset HEAD~1

    撤销提交并将代码变更放回工作区(需重新 git add)。

  • 硬重置(彻底丢弃代码)

  • git reset --hard HEAD~1

    完全丢弃提交和所有代码变更(慎用!不可恢复)。

方法 3:通过 IDEA 的版本控制界面 

  1. 打开版本控制面板

    • 点击 IDEA 右侧边栏的 Version Control(或按 Alt+9)。
  2. 回退提交

    • 在 Local Changes 或 Log 标签页中,找到目标提交。
    • 右键点击 → Reset Current Branch to Here → 选择重置模式(Soft/Mixed/Hard)。

注意:

核心区别

对比项 方法 1(Undo Commit/Revert Commit) 方法 3(Reset Current Branch to Here) 底层操作 本质是 git revert 或 git reset --soft 直接调用 git reset(可选软/混合/硬重置) 是否保留提交历史 Undo Commit:删除提交记录
Revert Commit:新增反向提交 直接删除提交记录(无痕迹) 代码变更的处理 Undo Commit:代码回到暂存区
Revert Commit:生成反向补丁 根据选择的 reset 模式(软/混合/硬)决定代码去向 适用场景 快速撤销最近一次提交 精确回退到任意历史版本