前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git基础知识(六)

Git基础知识(六)

作者头像
zx钟
发布2019-07-19 14:25:38
3440
发布2019-07-19 14:25:38
举报
文章被收录于专栏:测试游记

分支的新建与合并

模拟修复Bug的场景

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

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

代码语言:javascript
复制
$ git branch -d master
$ git fetch origin
$ git checkout master 

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

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

代码语言:javascript
复制
$ git checkout -b 666
相当于
$ git branch 666
$ git checkout 666

新建加切换

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

代码语言:javascript
复制
$ vim 1.py 
$ git add .
$ git commit -m 'fix 「666」'
$ git push --set-upstream origin 666

完成修改后提交

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

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

代码语言:javascript
复制
$ 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了

解决冲突后提交

分支管理

查看全部分支

代码语言:javascript
复制
$ git branch
$ git branch -v

image-20190404211426258

image-20190404211504986

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

代码语言:javascript
复制
$ git branch --no-merged # 查看还未合并的分支

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

查看已合并的分支

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

查看未合并的分支

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试游记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分支的新建与合并
    • 模拟修复Bug的场景
      • 新建分支
    • 合并冲突
      • 环境搭建
  • 分支管理
    • 查看全部分支
      • 过滤已经/还没合并的分支
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档