Git分支合并

1、拣选合并


拣选合并可以拣选分支上1个或多个提交进行合并,并保留原分支的提交注释信息。


合并前:

             A---B---C      top

         /        

    D---E---F---G---H    master

 

top分支上的BC拣选合并到master分支上

1、切换到master分支

gitcheckout master

2、拣选合并 BC

git cherry-pick B CBC之间用空格隔开)

3、合并结束后看log

LogID即哈希值改变,注释信息不变


合并后: 

             A---B---C      top

         /        

    D---E---F---G---H---B'---C'   master


注:合并产生conflict,解决了conflict,用 git add  conflict文件,然后用git commit不带注释可保留原提交注释。



2、压合合并


压合合并可以将分支上1个或多个提交压合成1个提交进行合并,不保留了原分支的注释信息,如果原分支的几个提交都是解决同一个问题,这时候可以用压合合并,把几个提交压合成一个提交,写新的注释信息。


合并前:

          A---B---C      top

         /        

    D---E---F---G---H    master


top分支上的BC压合合并到master分支上

1、切换到master分支

gitcheckout master

2、压合合并 BC

git merge --squash B C BC之间用空格隔开)

3、把合并过来的修改提交到master分支上

git commit -m " 注释 "

4、合并结束后看log

新增一条提交,注释是新的注释


合并后:

          A---B---C      top

         /        

    D---E---F---G---H---BC'    master


注:两个分支通过  git merge --squash ,只能把 A 或者 AB 或者 ABC 合并到master 上, 不能实现  BC 到 master上

git merge --squash 后面如果跟着哈希值,不管跟几个哈希值,不管哈希值的顺序,合并从分叉后的以第一个哈希值到后面跟着的最后一个哈希值之间的修改

注:合并产生conflict,解决了conflict,用 git add conflict文件


3、分支合并


合并前:

          A---B---C      top

         /        

    D---E---F---G---H    master


top分支合并到master分支上

1、切换到master分支

gitcheckout master

2、合并top分支

git merge top

3、合并结束后看log

top上的提交增加到master上,并新增一条合并信息。


合并后:

          A-----B----C      top

         /            \

    D---E---F---G---H---I    master


注:合并产生conflict,解决了conflict,用 git add conflict文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值