Git分支管理

知识点排列

git 学习笔记知识点排列如下,需要请戳,目前还有待进一步完善:
1、Git 删除文件后找回方式总结
2、Git 文件比较
3、Git分支管理

以下是个人的git学习笔记,参考并学习了尚硅谷的免费的 git 教程,个人认为讲的非常详细,来自哔站大学,链接如下:
尚硅谷GitHub教程(新版git已上传,推荐观看)

什么是分支?

在版本控制过程中,使用多条线同时推进多个任务。

分支管理流程举例

此图片来源于尚硅谷教程
在这里插入图片描述
主分支master用于项目面向客户的直接推送,也就是将来项目完成时我们会直接将这个版本发行出去供客户使用;

而在项目开发的过程中,我们往往是进行分工合作的,每个团队负责的功能都不同,那么每个团队都需要一个分支,在开辟出的分支上进行单独的开发:
比如一个项目功能中包含了蓝色背景界面和游戏这两大功能,那么负责蓝色背景界面的开发的团队就会申请一个名为feature_ blue的分支;负责游戏开发的团队则需要申请一个名为feature_ game的分支。

当然,我们还需要一个总的项目负责人去合并(merge)各个团队的已完成的功能到master主分支上,最终大家共同完成一个项目的开发,然后将主分支的内容发行供客户使用。

当一个版本发行出去以后,获得了客户,那我我们如何去修改bug更新发行版呢?停掉然后修复好再发行出去吗,肯定不能这样啊,这样会导致丢失客户的,客户才不会管你是否在更新。
那么这个时候,我就需要" 热修复 " ,也就是在发行版不停摆的情况下去修复,尤其是一些物联网平台,更新过程中影响客户的使用有可能还会给客户造成一定的损失,必须使用热修复,使用分支管理,我们可以新建一个hot_fix 热修复分支,新建分支会默认会把master主分支的内容copy到新建的hot_fix 分支上,然后我们就可以修改或者继续添加功能,如需添加功能,团队也可以继续的在hot_fix 的基础上新建功能分支,继续按照之前的方式延展开来即可,等到版本修复好,再将hot_fix 合并到master上,就这样悄无声息的进行了更新。

分支的好处

同时并行推进多个功能开发,提高开发效率 。
各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

分支合并

在这里插入图片描述
现在我们实际操作一下:
我们在一开始创建test.c只创建了一幅躯壳,“身体被掏空”
在这里插入图片描述
下面我们需要来修复一下:
在这里插入图片描述
然后我们在maser中就可以看到修复后的test.c了
在这里插入图片描述
然后git diff HEAD^ ,我们将合并后的当前版本和合并前的历史版本作对比:
在这里插入图片描述
通过与master历史的版本对比也进一步印证了我们在hot_fix分支修复的test.c成功的merge到了master的test.c中。

解决分支合并后产生的冲突

假如我们两个分支都修改了一个文件的同一行,这样就有两个版本了,此时再进行合并就会产生冲突,此时git已经无法无法确定到底哪一个作为最终版本留下,需要两个分支的修改者进行探讨
在这里插入图片描述
在这里插入图片描述

细究——何为冲突

注意:如果一方修改后未提交到本地库,或者修改的虽然是同一个文件,但不是同一个文件的同一行,这都不算冲突 ,还是那句话,git的最小管理单位是一行
以下测试印证了这一点:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值