git创建与合并分支

使用git时,每次提交一次都会生成一个版本,git把它们串成一条时间线,这条时间线就是分支。从前面所使用分支到现在,只使用了一条分支,这条分支称为主分支,即master分支。master是指向提交的,HEAD是指向当前的分支;
master分支是一条时间线,当HEAD指向了master时,确定了当前分支,并且确定了提交点
在这里插入图片描述
每提交一次master都会前进一步,所以,提交的次数越多时间线也就越长;
当我们创建新的分支时,会创建一个新的dev,当然这个指针的名字是可以随便定义的,这个指针会指向当前提交点,当HEAD指向这个指针时,就代表当前的分支为dev
在这里插入图片描述
在dev分支上提交一次,dev也向前进一步,随着提交的次数增多,dev分支也就越长。这些提交与master毫不相关,所以master不会动。
在这里插入图片描述
dev的工作完成之后就可以进行master与dev合并的操作了
在这里插入图片描述
合并完后,master的内容已经和dev一样,所以也可以把dev删除了
在这里插入图片描述
上面的一系列操作可以看成是链表的操作,
head是定位指针,master和dev都是一个链表的头指针
head指针指向的链表为当前链表,指向的节点为当前节点,提交点从这个点开始,创建分支也从这个节点开始。
当提交一次时,便在head指针指向的节点后面插入一个节点
每次创建一个分支,就创建了一个指针指向了head指针,当切换到新创建的指针后head就会指向那个分支的指针,开始在这个分支上进行操作
删除操作,即将master指针指向dev指针,并删除dev指针

创建与合并分支的一些命令

相关命令
git checkout -b dev 创建dev 分支并切换到dev分支
git branch dev 创建dev分支

一下两个命令合起来等价于git checkout -b dev

git branch 查看所有的分支,以*开头的为当前分支
git checkout dev  切换到dev分支

git merge dev 合并分支
git branch -d dev 删除分支的命令
创建dev 分支并切换到dev分支
在这里插入图片描述
删除dev分支,注意如果当前的分支为dev分支,则无法删除
在这里插入图片描述

冲突问题

如果在dev上修改完后,还没有合并,master也进行了修改,就会出现冲突
在这里插入图片描述
在dev分支上修改readme.txt文件,并提交到版本库
在这里插入图片描述
在这里插入图片描述
在master分支上修改readme.txt文件,并提交到版本库
在这里插入图片描述
在这里插入图片描述
合并分支,出现了冲突
在这里插入图片描述
那么,如何解决这个冲突呢?
我们先看一下readme.txt的内容,
在这里插入图片描述
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,此时我们可以通过修改文件,留下自己想要的内容,再次提交即可
在这里插入图片描述
现在的master和dev分支变成了如下图所示
在这里插入图片描述
git log --graph可以查看合并的路线 --pretty=oneline表示以行显示
在这里插入图片描述
最后,删除dev分支
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值