git merge合并分支代码后如何回退合并操作

这篇具有很好参考价值的文章主要介绍了git merge合并分支代码后如何回退合并操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面

  • 这次问题产生的原因还是自己操作过于急躁了,新功能开发完成之后没有实时的与经理沟通就进行了新功能分支合并的操作,导致当前版本部分功能由于没有同步产生了一些问题,因此需要把代码进行回退操作;
  • 但是分支代码修改了许多文件,并且已经推送到了远程仓库,手动一个个的对照远程仓库的提交记录进行代码还原显然不太合适(这是一种笨方法,但是也能解决,这里不这么处理);
  • 在查询git 相关指令后了解到了 git revert 命令,最终得以解决,下面介绍解决方式。

切换到合并源分支

  • 我这边的例子是将新功能分支 feature/dataQuality 合并到了 release分支
  • 所以我们这边切换到release分支
git checkout origin/release

git revert

  • 在编辑器中查看当时的提交记录,取出commit id, 同时确认一下当时修改的文件
    git怎么回退已merge的代码,git,vscode
  • 这时候新建一个终端,敲入命令 git revert commit-id
  • git revert回退到指定commit, 是合并代码的反向操作,通过此命令生成新的commit提交记录,提交此记录来覆盖远端仓库的代码(本质就是拿到合并前的代码,然后把合并前的代码重新提交从而实现代码还原);于是我们执行如下命令
git revert 0bda23a5
  • 然后控制台就得到一串报错
error: commit 0bda23a5468b9ddca6aa63dc6bae783da577181c is a merge but no -m option was given.
fatal: revert failed
  • 报错原因:因为需要回滚的commit 是一个merge动作,需要显示给出-m(mainline)选择告诉git回滚具体哪一个mainline(取值为1 或 2)
  • 由于合并时是两个分支进行合并,我们这边没有指明是要哪条分支的代码;因此我们再次查看提交记录(编辑器中查看),你也可以使用命令git show 0bda23a5 来查看,截图如下:
    git怎么回退已merge的代码,git,vscode
    git怎么回退已merge的代码,git,vscode
  • 根据
 commit 0bda23a5468b9ddca6aa63dc6bae783da577181c
 Merge: b287963c 9de004ff
  • 这样一来,根据我们当下的情况, git revert 0bda23a5 -m 1 (1标识的就是b287963c 也就是合并源即上述讲到的release分支)
  • 最终我们执行 git revert 0bda23a5 -m 1 后会发现现在代码提交处会生成一份新的提交记录,我们只需要将其再次提交即可解决问题

写在最后

  • 参考地址: git revert 回滚代码合并操作

文章来源地址https://www.toymoban.com/news/detail-721038.html

到了这里,关于git merge合并分支代码后如何回退合并操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • git同步更新、提交代码、回退操作、合并提交

    一、从远程仓同步更新到个人仓(分支) 1、git clone -b xxx分支 xxx个人仓地址(clone个人仓分支到本地) 2、cd xxx/(进入clone项目的根目录) 3、git remote -v(查看origin upstream)       git remote add upstream xxx远程仓地址(添加上游代码库) 4、git fetch upstream(获取原仓库的更新)

    2024年02月07日
    浏览(60)
  • git merge合并分支代码# Please enter a commit message to explain why this merge is necessar У git退出编辑信息

    git合并代码遇到问题(一般都是正常的合并行为在MacBook上面出现操作) 首先输入完git merge 分支名 后会出现这样的提示,先说流程,再说原因 ①:出现上图提示后,英文状态下按 i 键,这时候会进入insert(插入)模式; ②:然后就可以输入提交信息了,可以把第一行删除,

    2024年02月09日
    浏览(43)
  • git怎么把当前分支代码合并当指定分支

    场景:当前处于test分支,现在要把test分支代码的内容push到master里 1.切换到test分支(如果当前分支不是test才需要切换) 2.拉取test远程分支的代码(如果本地的代码内容和远程不一样,就拉,否则跳过) 3.切换到指定分支master 4.把test分支的代码合并到master 题外话,如果已经

    2024年02月12日
    浏览(56)
  • 如何利用IDEA将Git分支代码回退到指定历史版本

    一、背景 作为一名后端开发,相信大家一定遇到过这样的情景,代码开发人员过多,并且开发分支过多,导致代码版本管理困难,这样就难免遇到一些代码合并出错,比如,当我提交了本次修改到本地和远程分支后,发现我本次提交还少了一些修改内容,或者说本次修改是完

    2024年02月11日
    浏览(52)
  • 【随笔】Git 基础篇 -- 分支与合并 git merge(九)

    💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘   大家好,又见面了,我是夜阑的狗🐶,

    2024年04月11日
    浏览(86)
  • git使用教程7-pycharm 使用 git merge 合并分支

    前面一篇已经用 pycharm 创建了分支,当我们在某个分支上代码开发完成,代码测试没问题后需要把分支上的代码合并到 master 分支上。 这样保证 master 分支的代码永远都是最新的,也是最干净的,这样才可以持续的开发自己的项目。本篇讲解如何使用 pycharm 合并自己的分支。

    2024年02月12日
    浏览(46)
  • git从其他分支merge个别文件,部分合并文件

    简介 git 使用的过程中,有时候我们可能会有这样的需求, 别的分支上有部分文件是我们当前分支需要的,但是如果使用常规的merge,就会将别的分支的内容全部合并过来,这不是我们想要的,下面简单介绍一个小技巧可以实现只合并指定的文件。 场景一 目前有master 和 dev

    2024年02月07日
    浏览(52)
  • git中合并分支时出现了代码冲突怎么办

    友情提醒: ①git merge命令介绍 git merge 用于本地分支的合并。将一个本地分支的更改合并到另一个本地分支时,你会使用git merge命令。 git merge命令用于将一个分支的更改合并到另一个分支。它会将两个分支的更改整合在一起,保留详细的合并信息,并成为一个新的提交。 例如

    2024年03月20日
    浏览(80)
  • git整合分支的两种方法——合并(Merge)、变基(Rebase)

    问题描述: 初次向git上传本地代码或者更新代码时,总是会遇到以下两个选项。有时候,只是想更新一下代码,没想到,直接更新了最新的代码,但是自己本地的代码并没有和git上的代码融合,反而被覆盖了。 解决办法: 当我们从git上更新代码时,选择“在传入变基当前分

    2024年04月28日
    浏览(47)
  • git diff两个分支有差异git merge却显示没有可以合并的内容

    problem: 用git diff可以发现两个分支还是有很多不一样的地方,可用git merge显示not something we can merge 输入gitk查看,发现preview已经在这个分支前面了。。。虽然不太懂,但这样是没办法将preview合并当前分支的,只能这个分支合并preview。。。 解决:因为也不会别的解决方法,因

    2024年02月12日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包