前景

master主分支,dev是开发分支,master会保持最新的dev代码

问题的产生

  1. dev开发新功能
  2. 版本发布,dev合并到了master,发布生产环境
  3. 新需求来了,在dev进行开发
  4. 同时,线上代码有bug,从master拉新分支,改bug,之后合并到master
  5. master与dev这时代码不一致,以后合并有可能会有冲突
  6. dev开发完成,上线前,先与最新master做一下rebase,解决冲突
  7. git rebase会根据你的git commit进行冲突解决,每次都要进行git rebase --continue,这是比较烦人的
  8. git log找到dev是在哪个commit里合并到master的,找到后git reset --soft 把dev新需求合并成一个commit
  9. 最后再git rebase就可以了

相关git命令

找与master相同代码时的commit id

$ git log
commit 9f4c0939ce30aca3f4e18e69b2deed7b721b3ebb (HEAD -> master)
Author: lind <bfyxzls@sina.com>
Date: Sat Apr 27 12:45:24 2019 +0800 master2 commit 09b6898a5b32ac5e23745f7b343424170869045a
Author: lind <bfyxzls@sina.com>
Date: Sat Apr 27 12:44:48 2019 +0800 master1 commit c9507744d6528a3df9529d92953c896a4c2d38a7
Author: lind <bfyxzls@sina.com>
Date: Sat Apr 27 12:43:28 2019 +0800 dev2 commit 817d0275820c83acdf5513a5fd5855a6eb84443c
Author: lind <bfyxzls@sina.com>
Date: Sat Apr 27 12:42:59 2019 +0800

合并commit

$ git reset --soft  c9507744d6528a3df9529d92953c896a4c2d38a7
$ git add .
$ git commit -m "合并commit"

在rebase时,冲突提交数为1个,之前是dev有几次新的提交,就要解决几次

$ git rebase master
Administrator@WIN-1AL08P10TJ8 MINGW64 /c/testgit (dev|REBASE 1/1)

解决冲突,删除或者保留对应的代码,最后再保存,提交即可

Administrator@WIN-1AL08P10TJ8 MINGW64 /c/testgit (dev|REBASE 1/1)
$ git add . Administrator@WIN-1AL08P10TJ8 MINGW64 /c/testgit (dev|REBASE 1/1)
$ git rebase --continue
Applying: 合并commit Administrator@WIN-1AL08P10TJ8 MINGW64 /c/testgit (dev)

dev和master合并冲突解决的更多相关文章

  1. Git分支合并冲突解决(续)

    接Git分支合并冲突解决,在使用rebase合并冲突情况下,如果不小心,执行完add后执行了commit,此时本地仓库HEAD处于游离态(即HEAD指向未知的分支),如何解决? 解决方法 (1)此时, ...

  2. 转:git合并冲突解决方法

    git合并冲突解决方法 1.git merge冲突了,根据提示找到冲突的文件,解决冲突 如果文件有冲突,那么会有类似的标记 2.修改完之后,执行git add 冲突文件名 3.git commit注意 ...

  3. git合并冲突解决方法

    1.git merge冲突了,根据提示找到冲突的文件,解决冲突 如果文件有冲突,那么会有类似的标记 2.修改完之后,执行git add 冲突文件名 3.git commit 注意:没有-m选项 进去类 ...

  4. Git分支合并冲突解决

    前2天群里发了张git历史图,如下: 根据提交历史,可以看出图中所有分支合并都采用merge的方式,具体merge是怎么操作的,可以阅读下边文章. 根据项目上的需求,如果要求git提交历史是比较简单的 ...

  5. git冲突解决、线上分支合并、luffy项目后台登陆注册页面分析引入

    今日内容概要 git冲突解决 线上分支合并 登陆注册页面(引入) 手机号是否存在接口 腾讯云短信申请 内容详细 1.git冲突解决 1.1 多人在同一分支开发,出现冲突 # 先将前端项目也做上传到 g ...

  6. Egit的merge合并冲突具体解决方法

    稍微总结下弄了半个下午的egit的merge合并冲突解决方法,网上看的都是一个模板出来的,看的糊里糊涂,花了很多时间去实验整个合并流程.. 前提工作 创建一个普通JAVA工程Test,创建一个类Tes ...

  7. Eclipse的Git插件Egit: merge合并冲突具体解决方法

    http://www.cnblogs.com/wavky/p/3504060.html 稍微总结下弄了半个下午的egit的merge合并冲突解决方法,网上看的都是一个模板出来的,看的糊里糊涂,花了很多 ...

  8. git rebase解决合并冲突

    git rebase解决合并冲突   记录合并冲突解决方法,使用的git rebase,感觉很好用 1.git rebase 文档 https://git-scm.com/docs/git-rebas ...

  9. git pull时的冲突解决方式; git stash; git fetch

    git fetch指令: https://www.yiibai.com/git/git_pull.html 发现远端有更新,git pull时,如果你本地分支修改了东西,导致git pull有冲突,失 ...

随机推荐

  1. Eclipse下无法编译,或者WEB-INF/classes目录下没文件,编译失败的解决办法

    1. 确保 project->build automatically 已经被选上. 2. 如果选上了,也不好使, 使用这一招: project->clean..->选第2个clean ...

  2. 体育Bank2016会议笔记

    补注:会议全称应该是体育Bank2016体育投融资总裁年会 新华社体育部徐仁基 演讲主题:帮郭川找到大海-->帮民众找到自己真正的体育爱好 激发和培养体育市场是重中之重 将体育培养成生活习惯.生 ...

  3. 怎样看Mac的日志

    Mac自带的日志查看工具Console,注意Console和Terminal不是一码事,后者是CLI环境,前者是GUI日志查看工具.在应用里面搜索Console即可找到,里面的界面和Windows的日 ...

  4. Rafy 开源贡献中心 - 组织成立,并试运行一月小结

    背景 最近两年,工作中虽然大量使用了 Rafy 框架作为各个产品.项目的开发框架.我是 2015 年的年中加入现在这家公司的,由于我个人工作太忙的缘故,一直没怎么编码,Rafy 框架底层的核心成长也比 ...

  5. ES入门笔一

    ES6一共有6种声明变量的方法 --ES5只有var 和 function --ES6新增了let.const.import和class四种 ES6新增let和const,用来声明变量,是对var的扩 ...

  6. windows + maven + eclipse

    一处教程:http://www.yiibai.com/maven/maven_overview.html     Maven中央仓库信息速查:http://maven.outofmemory.cn/ ...

  7. (function($){...})(jQuery) 含义 【转】

    经常用,今天总结一下,下文摘自某网友的总结: (function($){...})(jQuery)实际上是匿名函数,不懂得朋友可以继续往下看. 这里实际上是匿名函数 function(arg){... ...

  8. 《T-SQL查询》读书笔记Part 1.逻辑查询处理知多少

    一.关于T-SQL T-SQL是ANSI和ISO SQL标准的MS SQL扩展,其正式名称为Transact-SQL,但一般程序员都称其为T-SQL. 二.逻辑查询处理各个阶段 2.1 逻辑查询处理流 ...

  9. mysql学习 第二章 数据库的基本操作

    3.1   创建数据库 MySQL安装好之后,首先需要创建数据库,这是使用MySQL各种功能的前提.本章将详细介绍数据的基本操作,主要内容包括:创建数据库.删除数据库.不同类型的数据存储引擎和存储引擎 ...

  10. python3 爬取qq音乐作者所有单曲 并且下载歌曲

    1 import requests import re import json import os # 便于存放作者的姓名 zuozhe = [] headers = {'User-Agent': ' ...