四、Git 的基本使用02-TortoiseGit 操作本地仓库(分支)

1. 分支的概念

几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,避免影响开发主线。多线程开发,可以同时开启多个任务的开发,多个任务之间互不影响.

2. 为何要使用分支

先看单线程开发
在这里插入图片描述

思考如下现象
    10.1 日 业务部门提出需求 : 明年 元旦3天做2个促销活动
    1) 12.31 号上线活动1, 
    2) 1.4 号上线活动2 ,同时 要求撤销 活动1

    你所在部门领导为了保证能顺利完成,要求 11.15号完成上述连个功能的开发工作
此时作为开发人员:我要面临两个文件, 活动1的代码,即要存在(12.31 要用)又要不存在(1.4号要求删除) ,我们怎么做?
显然比较棘手,如果使用分支(可以理解为将代码复制一份)将很好解决

在这里插入图片描述

3. 创建分支

到现在为止,我们一直使用的时主分支(master)
在主分支上操作创建分支

常用的命名分支的约定:
功能模块xxx:feature-xxx
master上紧急bug修复xxx:hotfix-xxx
某个功能模块的bug修复xxx:feature-xxx-fix

在这里插入图片描述

4. 分支的查看切换

4.1查看分支

查看版本分支图,此时我们看到有两个分支
当然,我们可以创建多个分支
可以看到多个分支的图形

在这里插入图片描述

4.2切换分支

右键–> 检出

在这里插入图片描述

5. 分支的合并与删除

5.1合并

我们将代码切换到分支1,然后写属于需求1 的代码并提交

当我们把需求1 开发完毕如何把需求1 的代码合并到主分支呢?

1、 切换到 主版本

2、 右键 合并即可将需求1 写的代码合并至主分支
此时我们看到代码自动合并到了master分支

在这里插入图片描述

5.2删除分支

在这里插入图片描述

6.分支合并时冲突的处理 ​

6.1冲突的概念

现象演示    

  开发人员A 开发需求1,开发了一个工具类 MathUtil,里面第一行写了一个方法 add(int [] args)

  同时开发人员B 开发需求2,开发了一个工具类 MathUtil,里面第一行写了一个方法 add(int a int b)

  他们在互相不知道对方需求的情况下同时提交了代码到自己的分支

  思考此时如果我们把需求1 和需求2 同时都合并到主分支上, 主分支的 工具类 MathUtil 的第一行应该使用谁的代码? 

   此时主分支是不能智能判断第一行使用谁的代码,合并时会报错,我们叫做冲突.

在这里插入图片描述

6.2 如何处理冲突

**分析一下冲突的原因:**
    开发人员之间彼此没有沟通导致的同一个时间节点修改了同一个地方的代码,合并是冲突

思考:
    我们能直接把某个开发人员开发的代码删除吗?
显然不能
    所以在处理冲突时,第一步应该时找开发另一个需求的人员沟通,之后才是处理冲突

**处理过程:**
1、选中冲突的文件(带黄色感叹号的文件都是冲突的文件,如果有多个需要逐一处理)

2、右键--> 编辑冲突,

2、处理完毕后.标记已解决

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值