git工具学习笔记:合并分支 merge

merge

命令选项

1.分支合并

如下:两条从公共节点分叉的分支,分别有了新的提交,当使用git merge合并分支时,会在当前master分支commit基础上应用topic在公共节点以后的提交,并生成一条新的提交记录合并信息。

  A---B---C topic
 /
D---E---F---G master

=====>

  A---B---C topic
 /         \
D---E---F---G---H master

合并之前master分支

在这里插入图片描述

合并之前topic分支

在这里插入图片描述

合并之后master分支

在这里插入图片描述

合并之后topic分支 git merge topic 对topic分支没有影响

在这里插入图片描述

合并分支之后,查看master分支提交,最近提交只是记录了合并信息,没有记录对文件目录的修改

在这里插入图片描述

使用git cat-file 命令查看可以发现master和topic分支下的A,B,C提交的commit对象是一致,没有变化的,但是master分支的最近提交包含有两个parent;可见merge的行为实际上是把topic上的提交应用到master上,使用一条新的提交记录,记录merge后的文件目录状态,并把这条提交的parent指向两条分支合并前的head

在这里插入图片描述

2.fast-forward

如下:当在公共节点拉新分支后,master分支没有新的提交,使用git merge命令后,master分支上应用提交A,B,C的话,结果与topic分支是一致的,这种情况,master分支会直接把head指向C提交。

 A---B---C topic
 /
D  master
2.冲突 conflict

当两条分支对同一部分文件进行了不同的修改,git是不能区分应该选取哪份提交,这时就产生了合并冲突,git用<<<<< part1 ======= part2 >>>>>标记冲突部分
part2是被合并分支topic修改部分,part1是master修改部分
在两个分支上分别修改A.md文件,后执行merge

在这里插入图片描述

查看A.md文件

在这里插入图片描述

修改冲突文件后,执行git add . ;git commit命令完成合并

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值