解决idea中git误提交到远程版本回退

解决idea中git误提交到远程版本回退

1.在“Show History”中找到当前版本(取名:newVersion)和想要回退到的版本(oldVersion)

解决idea中git误提交到远程版本回退

2. 选择newVersion和oldVersion点击“Copy Revision Number”复制两个版本的版本号:

newVersion:2746f428a3d3d000bd1b0e886ef8167e1f73ec9c
oldVersion :6bc5691cbe7304cb185b70fbc0dd975c7de86e8a

解决idea中git误提交到远程版本回退

3. 右击项目依次选中:Git->Repository->Reset HEAD

解决idea中git误提交到远程版本回退

4. 选中Reset Type: Hard, To Commit:6bc5691cbe7304cb185b70fbc0dd975c7de86e8a;然后点击Reset按钮

解决idea中git误提交到远程版本回退

5. 这时本地代码已经回退到oldVersion,这时候如果直接push到远程仓库,会提示版本冲突,点击“cancel”取消。

解决idea中git误提交到远程版本回退
解决idea中git误提交到远程版本回退

6. 下面有两种解决冲突的方法

6.1方法一 :不解决,直接强制提交

  1. 打开Terminal,切换到项目所在目录

  2. List item. 执行:

 git push -f

解决idea中git误提交到远程版本回退

6.2方法二:idea再次Reset,注意这次的Commit是NewVersion的

  1. 右击项目依次选中:Git->Repository->Reset HEAD

  2. 选中Reset Type:Mixed, To Commit:2746f428a3d3d000bd1b0e886ef8167e1f73ec9c;然后点击Reset按钮
    解决idea中git误提交到远程版本回退
    这时你会发现,最新版本有回到newVersion。但是代码还是oldVersion的代码,这时候重push到远程仓库就不会版本冲突了

  3. 方法一vs方法二
    方法一会将回退的提交记录抹点,而方法二会保留

上一篇:Git恢复之前版本的两种方法reset、revert(图文详解)


下一篇:git代码被覆盖,回退指定版本