> 技术文档 > IDEA如何回退提交的git代码(四种常见场景)_idea回退git提交的代码

IDEA如何回退提交的git代码(四种常见场景)_idea回退git提交的代码

在平时工作中我们需要把本地修改的代码提交到远端仓库,有时候发现提交的分支出错或者多提交非版本代码,这时候想要撤回我们的提交,简单介绍几种IDEA提交代码回退的方式:

  1. Undo Commit
  2. Revert Commit
  3. Reset Current Branch here
  4. 合并出错,出现大量git log,如何找到自己提交的git 并回退

1.已提交commit,还未push到远端(Undo Commit)

1.1选中提交了但是还没有push到远端的git 记录,右键undo Commit

在这里插入图片描述

2.已提交commit并push到远端(Revert Commit)

2.1选择提交且推送到远端的那条记录\"xxxx\",右键Revert Commit2.2 会生成一条Revert “xxxx” 的Commit记录2.3直接push到远端,则撤销了此次提交2.4如果想要你提交的代码回到本地,点击提交记录,在右侧代码明细清单中右键cherry-pick selected changes

在这里插入图片描述
在这里插入图片描述

3.已提交commit并push到远端(Reset Current Branch to Here)

3.1 选择退回到指定的版本(一般是你提交的git记录的下一条) 右键 Reset Current Branch to Here ,选择以下几种方式的一种Soft:回滚后,保留修改的文件到本地(常用) git reset --soft xxxxidMixed:保留修改的文件到本地,但不保留已提交的git索引Hard: 回滚到选择的版本,所有提交和未提交的修改都将丢弃(常用)git reset --hard abcdefKeep: 回滚到选择的版本,已提交的将被丢弃,但保留了本地未提交的修改内容3.2 强制推送到远端 Force push

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.合并分支出错,导致出现大量git log记录

今天合并分支的时候,一不小心把整个分支合并到了另外项目的分支上,然后git log 上面显示了很多记录,都是合并分支的历史git log,导致通过idea没办法回退,通过找到文件夹,找到引用记录,然后发现了我合并的那个记录,在右键重置到了没合并之前的分支记录下。

在这里插入图片描述
在这里插入图片描述