IDEA实现回退提交的git代码(四种常见场景)

 更新时间:2025年05月23日 15:32:21   作者:codingPower  
这篇文章主要介绍了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 Commit

2.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 xxxxid
  • Mixed:保留修改的文件到本地,但不保留已提交的git索引
  • Hard:回滚到选择的版本,所有提交和未提交的修改都将丢弃(常用)git reset --hard abcdef
  • Keep:回滚到选择的版本,已提交的将被丢弃,但保留了本地未提交的修改内容

3.2 强制推送到远端 Force push

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

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MyBatis自定义拦截器实现优化SQL日志输出

    MyBatis自定义拦截器实现优化SQL日志输出

    这篇文章主要介绍了优化MyBatisPlus SQL日志输出的方案,针对默认日志格式存在的不足,例如缺少时间、可读性差、存储成本高等,希望对大家有所帮助
    2026-03-03
  • 在Java中操作Zookeeper的示例代码详解

    在Java中操作Zookeeper的示例代码详解

    这篇文章主要介绍了在Java中操作Zookeeper的示例代码详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Java实现一个简易版的多级菜单功能

    Java实现一个简易版的多级菜单功能

    这篇文章主要给大家介绍了关于Java如何实现一个简易版的多级菜单功能的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-01-01
  • MyBatis自定义SQL拦截器示例详解

    MyBatis自定义SQL拦截器示例详解

    Mybatis支持对Executor、StatementHandler、PameterHandler和ResultSetHandler 接口进行拦截,也就是说会对这4种对象进行代理,下面这篇文章主要给大家介绍了关于MyBatis自定义SQL拦截器的相关资料,需要的朋友可以参考下
    2021-10-10
  • Java输入流Scanner/BufferedReader使用方法示例

    Java输入流Scanner/BufferedReader使用方法示例

    这篇文章主要介绍了Java输入流Scanner/BufferedReader使用方法,大家看示例吧
    2013-11-11
  • Windows下Java环境配置的超详细教程

    Windows下Java环境配置的超详细教程

    这篇文章主要给大家介绍了关于Windows下Java环境配置的超详细教程,文中通过图文将配置的过程介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-01-01
  • Java设置JSON字符串参数编码的示例详解

    Java设置JSON字符串参数编码的示例详解

    在Java中创建JSON字符串,我们可以使用多个库,其中最流行的是Jackson、Gson和org.json,,下面给大家分享Java设置JSON字符串参数编码的示例,感兴趣的朋友一起看看吧
    2024-06-06
  • Fluent Mybatis学习之Update语法实践

    Fluent Mybatis学习之Update语法实践

    Fluent MyBatis是一个MyBatis的增强工具,没有对mybatis做任何修改。本篇文章将详细介绍对Fluent Mybatis中的update语法进行验证。代码具有一定价值,感兴趣的小伙伴可以学习一下
    2021-11-11
  • 详细SpringBoot生命周期接口的使用

    详细SpringBoot生命周期接口的使用

    本文主要介绍了SpringBoot生命周期接口的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • java编程实现求质数与因式分解代码分享

    java编程实现求质数与因式分解代码分享

    这篇文章主要介绍了Java编程实现求质数与因式分解代码分享,对二者的概念作了简单介绍(多此一举,哈哈),都是小学数学老师的任务,然后分享了求解质数和因式分解的Java代码,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12

最新评论