Git基础知识(六)

Git基础知识(六)

分支的新建与合并

模拟修复Bug的场景

  1. 正常在工作分支「dev」上进行特性开发
  2. 测试告知主线版本「master」出现了一个bug「编号666」需要修复
  3. 在出了版本的分支上新建一个新的分支「666」
  4. 修复问题,提交修改,并推送至远端
  5. 让管理员把「666」分支合入到主线
  6. 切换回特性开发分支继续开发

    新建分支

因为是主线上的bug,所以先切回到主线上去,不过本地的主线可能有点旧了,所以把本地的master分支删掉,然后和远端同步一下之后再从远端把master分支检出

1
2
3
$ git branch -d master
$ git fetch origin
$ git checkout master

更新master分支现在master分支是库上最新的了,我们可以放心的从当前提交拉出一个新的bug修复分支了

作为一个有即将可能成为优秀程序员的人,当然要学会偷懒了,使用checkout -b一起完成新建和切换分支的操作

1
2
3
4
$ git checkout -b 666
相当于
$ git branch 666
$ git checkout 666

新建加切换

然后「666」分支上进行修改,提交,推送到远端

1
2
3
4
$ vim 1.py 
$ git add .
$ git commit -m 'fix 「666」'
$ git push --set-upstream origin 666

完成修改后提交

好了,现在使用git checkout切回到原来工作的分支去就行了。

不过假设你是管理员,那么你就需要多干一点事情了,把这个提交给合并到主线去才能算完成工作。

1
2
3
$ git checkout master
$ git merge 666
$ git branch -d 666

合并并删除无用分支

合并冲突

假设有两个人一起在开发,那么就可能会出现,修改了同一行内容的情况。这样合并的时候就会报出冲突。

环境搭建

首先要构造一个这样的环境

在当前的提交「A」上拉出两个分支「B」「C」,并修改同一个文件,然后先后合入到原来的提交「A」上。

检出B并修改

检出C并修改

先合并B然后合并C

image-20190404210904817

查看冲突:

查看冲突

只有<<<<<<<=======>>>>>>>都去除掉了才能正常提交

其中=======上面是「HEAD」的部分

下面是「C_」分支部分

image-20190404211057676

提交之前也还是需要进行提交,这样本地的位置「HEAD」就指向本地的master了

解决冲突后提交

分支管理

查看全部分支

1
2
$ git branch
$ git branch -v

image-20190404211426258

image-20190404211504986

过滤已经/还没合并的分支

1
2
3
$ git branch --no-merged # 查看还未合并的分支

$ git branch --merged # 查看已经合并的分支

查看已合并的分支

新建了一个分支「D_」并完成了一次提交,切换回「master」的时候使用查看还未合并的分支命令可以看到分支「D_

查看未合并的分支

 wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
您的支持将鼓励我继续创作!