行业资讯 2025年08月6日
0 收藏 0 点赞 321 浏览 1004 个字
摘要 :

文章目录 前置说明 操作步骤 第1步:查看git提交日志 第2步:将旧分支代码撤回暂存区 第3步:切换新分支 第4步:强制还原旧分支 在开发过程中,我们经常会因为迭代到……




  • 前置说明
  • 操作步骤
    • 第1步:查看git提交日志
    • 第2步:将旧分支代码撤回暂存区
    • 第3步:切换新分支
    • 第4步:强制还原旧分支

    在开发过程中,我们经常会因为迭代到新分支而忘记将分支切换到最新分支,导致将新增的代码误提交到老的分支上,如果没有push还好,一旦push,想要回滚就会稍微麻烦点,这里潘老师教大家如何去实现Git push错分支后也可以回滚远程分支代码,并将原提交的代码push到新分支。

    前置说明

    首先我们假设有两个分支,一新一旧,新分支为feature/V1.0.2_A,旧分支为feature/V1.0.1_A,假设不小心将一部分本该提交到新分支的代码却误提交到了旧分支,并且已经push上去。现在我们要将这部分旧分支代码还原,并将这部分误提交的代码再提交到新分支上,那么问题就解决了。

    操作步骤

    第1步:查看git提交日志

    首先在旧分支上查看git提交日志,使用git log指令,找到我们误提交代码之前的commit id也就是我们的还原点,假设为ae94e547c2xxxxxx1。

    第2步:将旧分支代码撤回暂存区

    首先我们要将旧分支误push的代码撤回带暂存区。我们直接使用如下指令:

    git reset --soft ae94e547c2xxxxxx1
    

    此时我们会发现在还原点之后的误提交的代码,都回到了暂存区,但是要注意,此时远程仓库中的误提交代码还在,我们后面再处理。

    第3步:切换新分支

    这时候我们切换到最新分支,如果有需要merge的就merge,然后将本地暂存区的代码commit并push到新分支,这样误提交代码就提交到了正确的分支。

    第4步:强制还原旧分支

    最后,我们再切换到旧分支,此时暂存区已经没有新代码了,如果还存在新代码,就先使用–hard强制回退到前一个版本,并且本地不会残留新代码,然后我们再push

    git reset --hard ae94e547c2xxxxxx1
    

    如果你直接push,会发现需要merge远程那部分误提交代码,因此我们不能拉取,也不能merge,而是要将本地的代码直接强制push上去,覆盖掉误提交代码,执行指令如下:

    ##语法:git push -f 远程仓库名 当前分支名:远程其他分支名
    ##案例
    git push -f origin feature/V1.0.1_A:feature/V1.0.1_A
    

    -f表示force强制更新,如果是相同分支名,后面的名称不写应该也可以。

    这样原先的旧分支就被还原了。

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/8689.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

988
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

465
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

348
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

456
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

517
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

832
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号