一、问题由来

  当前新项目的开发分支非常的多,自己看了一下大概有20多个分支。每次开发完一个版本就会重新创建几个新的分支,每个开发人员对应一个

自己单独的开发分支,因此才会出现这么多的分支。分支多了之后,容易导致一个问题,在提交代码的时候如果分支选择错误,就会提交到错误的

分支,这种情况是不允许出现的,肯定会被批评。那如果操作失误该如何解决呢?

二、问题分析

  Git操作里面有一个代码回滚的操作,就是将代码回退到某一个版本,然后在进行强制提交。如果是使用命令行操作,自己还比较熟悉,先切换到

对应的分支(git checkout -b release-V4 origin/release-V4),然后回退版本(git reset --hard 版本ID),最后是强制push到远程分支(git push -f)。可是使用

IDEA如何操作,自己还不清楚。

二、解决方案

  自己去网上查看各种教程,很快找到对应的教程,操作起来非常的简单,比使用命令行操作简单许多。操作只需要几步就搞定:

第一步是手动备份自己已经修改的代码,不然代码回滚后,之前的更改都会被覆盖;

第二步使用IDEA回滚代码到指定版本;

选中项目,右键选择Git-->Show History

然后选择:Log-->单击选择需要回退的版本,右键--->Reset Current branch to Here-->

继续选择:Hard 表示强制回退到当前版本,最后选择Reset即可。本地的代码就会回退到之前的版本,会发生改变。

第三步使用IDEA将当前版本强制推送到远程;这样远程的版本就会被本地的当前版本覆盖,完成代码回滚。

选中项目右键:Git-->Repository-->Push

然后选择 Force Push进行强制推送即可。

参考文章: https://blog.csdn.net/HaHa_Sir/article/details/122856923

使用IDEA中的Git提交代码到错误的分支,回滚代码后如何强制push代码-2022新项目的更多相关文章

  1. SSM-MyBatis-09:Mybatis中SqlSession的close为什么能造成事务的回滚

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 经过上几次的查找,笔者我就简单的说一下查找的思路,留给读者自己实践 同样找到sqlsession的实现类,-- ...

  2. 用Eclipse中的git提交代码流程

    有更新有提交 Commit到本地,pull,然后再push 提交 Commit到本地 或者直接commit and Push 更新 先对比然后pull或者右键项目直接pull 有冲突时 有冲突的时候优 ...

  3. 使用gradle构建Android时 版本号versionName中嵌入git提交信息

    为什么要这么做   在应用开发的版本迭代过程中,通过版本号并不能快速定位到所对应的代码,导致在后面分析问题追溯对应版本的代码时比较麻烦.   如果代码是通过git来管理的,git的commit id等 ...

  4. Eclipse中使用GIT提交文件至本地

    GIT提交文件至本地: 1.  右击项目——Team——Commit…: 2.在弹出的Commit Changes框中——选择要提交的文件——填写提交说明——点击Commit,即可提交至本地.

  5. git 远程分支回滚

    git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id [本地代码库回滚]: git reset --hard commit-id :回滚到commit-id,讲commit-id ...

  6. git实战-多分支开发-2022新项目

    现在开发中大多数公司中都在使用Git这个代码版本管理工具,几乎可以说是已经成为标配,刚入职不久的这家新公司也不例外. 去公司没多久,开始搭建项目,然后创建开发分支,有多少个后端人员就创建多少个开发分支 ...

  7. git本地以及远程分支回滚

    转:https://www.cnblogs.com/sunny-sl/p/11236280.html 1. git本地版本回退 Git reset --hard commit_id(可用 git lo ...

  8. MySQL中的重做日志(redo log),回滚日志(undo log),以及二进制日志(binlog)的简单总结

    MySQL中有六种日志文件,分别是:重做日志(redo log).回滚日志(undo log).二进制日志(binlog).错误日志(errorlog).慢查询日志(slow query log).一 ...

  9. 项目开发中Maven的单向依赖-2022新项目

    一.业务场景 工作多年,在真实的项目开发中经常会遇到将一个项目拆分成多个工程的情况,比如将一个真实的项目拆分成controller层,service层, dao层,common公共服务层等等.这样拆分 ...

  10. 事务配置在applicationContext.xml文件中不起作用,控制不了异常回滚

    一.博主在学习到整合ssm框架的时候,遇到一个奇葩的问题就是将 事务的控制 ,写在在applicationContext.xml文件中不起作用,在事务控制的方法中,即使出现了异常,但是事务不会回滚的坑 ...

随机推荐

  1. C/C++ 实现枚举网上邻居信息

    在Windows系统中,通过网络邻居可以方便地查看本地网络中的共享资源和计算机.通过使用Windows API中的一些网络相关函数,我们可以实现枚举网络邻居信息的功能,获取连接到本地网络的其他计算机的 ...

  2. 21.13 Python 实现端口流量转发

    端口流量转发(Port Forwarding)是一种网络通信技术,用于将特定的网络流量从一个端口或网络地址转发到另一个端口或地址.它在网络中扮演着一个非常重要的角色,在Python语言中实现端口转发非 ...

  3. 驱动开发:内核MDL读写进程内存

    MDL内存读写是最常用的一种读写模式,通常需要附加到指定进程空间内然后调用内存拷贝得到对端内存中的数据,在调用结束后再将其空间释放掉,通过这种方式实现内存读写操作,此种模式的读写操作也是最推荐使用的相 ...

  4. [MySQL] 给root用户设置权限

    mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'root'; mysql> GRANT ALL PRIVILEGES ON *.* TO 'roo ...

  5. 可选可输入的input框

    <input type="text" list="note" autocomplete="off"> <datalist ...

  6. 【Java并发入门】01 并发编程Bug的源头

    一.根本原因 「CPU.内存.磁盘之间的速度差异」 为了能同时执行多个任务,CPU 发展出时间片轮转.多核等 CPU 要从内存中读数据太慢了,所以给自己设置了缓存 CPU 读磁盘更慢了,所以可以让该线 ...

  7. Linux-Shell 小数运算,四舍五入

    在shell中做小数运算,可以借助bc 或者awk工具 一.使用bc做小数运算,scale指定小数点位数 1.加法运算(scale参数无效) #echo "5.999 + 5.001&quo ...

  8. 收集 VSCode 常用快捷键

    快速复制行 Shift + Alt + ↑/↓ 都是往下复制行,区别是:按↓复制时光标会跟着向下移动,按↑复制时光标不移动. 向上/向下移动一行 Alt + ↑/↓ 删除整行 Ctrl + Shift ...

  9. GYM-A. Golden Spirit等

    1.题目链接:Problem - A - Codeforces 题意:桥两边有2 * n个不能独立过桥的老人,老人想到对面休息 re 分钟后返回原位置,每次过桥需要花费 cr 分钟,问最少需要多长时间 ...

  10. Spring源码之spring事务

    目录 Spring事务 事务自定义标签 自定义标签 解析标签 bean 的初始化 InfrastructureAdvisorAutoProxyCreator 获取增强方法 获取所有增强中内适用于当前方 ...