dev和master合并冲突解决

释放双眼,带上耳机,听听看~!

前景

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)

给TA打赏
共{{data.count}}人
人已打赏
随笔日记

说说new 和 malloc()

2020-11-9 4:37:41

随笔日记

STM32学习笔记(二):GPIO口工作原理

2020-11-9 4:37:43

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索