Chinaunix首页 | 论坛 | 博客
  • 博客访问: 402586
  • 博文数量: 78
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 940
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-25 09:39
文章分类

全部博文(78)

文章存档

2016年(7)

2015年(1)

2014年(35)

2013年(35)

我的朋友

分类: 项目管理

2013-08-30 21:26:20

当前分支状态:

  D---E test

     /

A---B---C---F master

使用rebase 合并

A---B---C---F---D'---E'   master, test

注意,其中 D’, E’ commit SHA 序号跟本來 D, E 是不同的,相当于砍掉之后重新commit

conflic时,与 merge 相似,出现conflictrebase暂停,解决冲突后继续。与merge不同的是merge发生conflict时只需要解决冲突一次,然后commit。而 rebase conflict 可能会需要重复解决冲突好几次。

切换到master分支,运行git rebase testGit首先会将test分支的代码checkout出来,作为工作目录,然后将master分支从test分支创建起的所有改变的补丁,依次打上。如果出现冲突,解决冲突后,运行git rebase –continue继续直到完成。如果不想处理冲突,可以运行git rebase –abort选择放弃rebase过程,或运行git rebase –skip直接用test分支的取代当前分支的。

注: 使用 merge 合并后:

             D--------E 

            /          \

A---B---C---F----G   master, test






 

阅读(2561) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~