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

版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/HughGilbert/article/details/70577109

本节内容整理自分支

创建与合并

  • 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)状态的文件

猜你喜欢

转载自blog.csdn.net/HughGilbert/article/details/70577109
今日推荐