dev分支

* da349ef (dev) e
* 75350bc d
* 63cbbb8 c
* c6509a5 b
* 13405af a

文件可能会发生冲突,需要解决一下

aaaaaaaaa

bbbbbbbbb

ccccccccc

<<<<<<< HEAD
fffffffff ggggggggg
======= ddddddddd eeeeeeeee
>>>>>>> dev

最后结果

*   85ef130 (HEAD -> master) Merge branch 'dev'
|\
| * da349ef (dev) e
| * 75350bc d
* | b553464 g
* | 6d56d3d f
|/
* 63cbbb8 c
* c6509a5 b
* 13405af a

可以看出,merge 有保留dev分支的痕迹,相当于创建了一个85ef130 commit 并同时指向了da349ef (dev) e和

b553464 g


再看rebase是如何处理的

Master 分支

* 2a4e835 (HEAD -> master) d
* 706b742 c
* 4807917 b
* 59a582d a

dev 分支

* 0a6ecdd (HEAD -> dev) f
* 42b6702 e
* 706b742 c
* 4807917 b
* 59a582d a

使用rebase合并分支

在master 上执行

git rebase dev

(着重理解这句话)相当于将master分支的代码向dev分支合并,在将master的指针指向dev上新创建的commit

可能会有冲突,解一下

aaaaaa

bbbbbb

cccccc

<<<<<<< HEAD //这里是dev 的内容
eeeeee ffffff
=======
dddddd
>>>>>>> d // 这里是master的内容

冲突时,冲突部分与merge不同,相当于将master的差异代码往dev合并,然后产生了一个新的commit,之后将master变基到这个新的commit-id 上

解决冲突后执行 git add <conflicted_files> ,然后执行git rebase --continue

rebase操作是持续执行的,如果还有冲突,继续执行上述操作(好处是:也方便一个冲突一个冲突的解决

rebase 合并成功后(有的也翻译为变基),在master上查看git日志

* ff1a394 (HEAD -> master) d //这里是新创建的一个commitid,commit注释为d master变基到此
* 0a6ecdd (dev) f
* 42b6702 e
* 706b742 c
* 4807917 b
* 59a582d a

可以看出,在master分支执行git rebase dev 是将当前分支的代码往dev合入,并最后将master的指针指向到在dev链上新创建的commit,完成合入(变基)

最新文章

  1. .net实现与excel的数据交互、导入导出
  2. jQuery插件(右击事件)
  3. BC之Claris and XOR
  4. SAP第一轮面试总结
  5. JDK 伪异步编程(线程池)
  6. 如何快速读懂大型C++程序代码
  7. JavaScript实现在textbox输入时自动去数据库匹配并找出类似值列出,选择后记得将值填入本textbox及下一个textbox
  8. divmod数字处理函数
  9. 浅析final关键字
  10. python学习——读取染色体长度(一、简化问题)
  11. 用JS制作《飞机大作战》游戏_第1讲(素材查找和界面框架搭建)-陈远波
  12. Harbor 学习分享系列2 - Harbor项目介绍
  13. webpack入门指南-step03
  14. 样式缩写&mdash;&mdash;css技巧(一)
  15. c#调用cmd
  16. HTML5开发之 -- 模态突出窗(bootstrap)
  17. Beta阶段第1周/共2周 Scrum立会报告+燃尽图 03
  18. Win32 配置文件用法
  19. MysQL使用一高级应用(上)
  20. imx6q Xorg下Qt应用开机自启动及添加桌面快捷启动图标的方法

热门文章

  1. 关键字——this,super,static,final
  2. Python收集这些视频只是单纯的想做做壁纸,大家不要误会
  3. Python:socket编程教程
  4. ERROR: manifest for elasticsearch:latest not found: manifest unknown: manife
  5. Could not transfer artifact xxx from/to xxx解决方案
  6. 【Azure Developer】记录一次使用Java Azure Key Vault Secret示例代码生成的Jar包,单独运行出现 no main manifest attribute, in target/demo-1.0-SNAPSHOT.jar 错误消息
  7. Map集合概述和Map常用子类
  8. docker容器管理操作
  9. javaweb 02: servlet
  10. [RCTF2015]EasySQL-1|SQL注入