Git学习(四)——分支的创建与合并

本文详细介绍了在Git中如何创建与合并分支。首先,在遇到问题#53时,从主分支创建issue53分支进行修复。然后,处理紧急问题时,创建hotfix分支,解决后与master分支合并。在解决完所有问题后,合并issue53分支到master,并删除不再需要的分支。讨论了Git分支合并的快速前进和非快速前进两种情况,并指出在合并时可能出现的冲突及解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本节内容整理自分支

创建与合并

  • Step one:首先假设你正在一个Git项目上工作,并且有了一些提交,如下图所示。
    commit
  • 现在假设有一个问题#53,需要在不运行原项目的基础上进行修改,此时就要创建分支。
#命令简写
#git checkout -b issue53
git branch issue53
git checkout issue53

figure2

  • 如图所示,创建了新的分支

  • Step two:在分支 issue53中修改问题,并作了新的提交C3
    figure3

  • 注意,此时HEAD指针指向了issue53

  • Step three:此时接到电话,原来的版本有一个紧急问题需要修改,不想把它与#53问题混淆在一起,将HEAD切换到master分支,并由master分支衍生出新的分支

  • 需要注意的是在切换到master分支的时候,应该确保此时的staging area中的文件被处理完毕
git checkout master
git checkout -b hotfix

figure 4

  • Step four:在hotfix分支中修改了问题并做了提交之后,将分支hotfix与master进行合并
    figure 5
  • 此时紧急问题已经被解决,切换到分支issue53继续解决刚才被打断的问题,切换到分支issue53之前应该先删除hotfix分支,因为紧急问题已经被解决了
  • 切换到分支issue53之后,修改问题,并做了新的提交
git branch -d hot fix
git checkout issue53

figure 6
- 此时将分支issue53与分支master进行合并

figure 7

  • 所有问题都解决之后,删除其它分支,只保留master分支

Git分支合并时的两种情况

  • 第一种情况:如何合并的两个分支中,有一个分支时另一个分支的前继,则作为前继的那个分支会直接移动到另外一个分支,Git将其称为“fast forward”
    figure 8——————————————————————————————
    figure 9

  • 第二种情况:合并的两个分支具有共同的父节点,其合并就是将内容不同的地方进行合并

合并时候的冲突

  • 当在第二种情况合并两个分支,并且两个分支对于同一个文件的同一部分做了修改的时候,会出现合并冲突。此时 Git 做了合并,但是没有自动地创建一个新的合并提交。 Git 会暂停下来,等待你去解决合并产生的冲突。 你可以在合并冲突后的任意时刻使用 git status 命令来查看那些因包含合并冲突而处于未合并(unmerged)状态的文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值