git merge 后,删除merge过来的代码,又提交了新代码到远程时

背景:今天在特性分支合并master代码的时候,执行了git merge master操作,代码有冲突,所有merge过来的代码出现在version control里,解决冲突后,准备提交代码,代码分析出现很多警告,又有别的事情,就在version control点了revert,想把合过来的代码都丢弃。当我再次修改代码提交代码时,合过来的代码都显示提交了成了回退后的样子,并且再次merge master时,显示已经merge过了,不再让merge了。

解决办法:git reset 这里不再赘述用法,参考:https://www.jianshu.com/p/c2ec5f06cf1a

首先,可以在idea直接操作,点击想回退的分支,右击选择 reset current branch to here…,出现弹框直接选择hard,点击reset。


此时,本地工作空间已经直接回退到了该版本,再执行git push origin xxx即可,则远程的也回退到了该分支。

如果跟远程的该分支有冲突,远程分支版本比本地分支版本高,不让push时,执行git push origin xxxx -f,强制提交,将本地同步到远程。

现在可以重新进行 merge master了,代码也回到之前的版本了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git 使用笔记 git原理: 文件(blob)对象,树(tree)对象,提交(commit)对象 tree对象 ...
    神刀阅读 3,798评论 0 10
  • Git有很多优势,其中之一就是远程操作非常简便。本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就...
    bondPang阅读 1,347评论 0 6
  • 还是老规矩,这篇看完后,还是学不会git版本控制的,你来砍我 是兄弟就来砍我吧!!! Git是分布式版本控制系统,...
    Zteen阅读 3,242评论 0 6
  • 以下笔记主要参考gitgot,大致了解git使用和原理。 第一部分我们从个人的视角去研究如何用好Git,并且揭示G...
    carolwhite阅读 2,429评论 0 1
  • Add & Commit git init 初始化一个 Git 仓库(repository),即把当前所在目录变成...
    冬絮阅读 4,908评论 0 9