文章目录
- 前言
- 一、新建分支
- 二、切回老分支,保留新分支的更改
- 三、合并分支
前言
本文主要针对以下场景进行介绍:
- 场景一:创建新的分支
当前分支(dev_1)已经开发完毕,下一期的需求需要在新分支(dev_2)上进行开发,如何创建一个新的分支? - 场景二:切回老分支,保留新分支的更改
当前分支(dev_1)已经开发完毕,目前正在新的分支(dev_2)上进行开发,此时分支(dev_1)出现了bug,需要回到分支(dev_1)上进行修改,如何保留分支(dev_2)上的修改,而切换到分支(dev_1)? - 场景三:合并分支
目前开发主分支是(dev_1),而你由于特殊原因需要在分支(dev_2)上进行开发,最后如何将分支(dev_2)上的更改合并到分支(dev_1)呢?
提示:以下是本篇文章正文内容,下面案例可供参考
一、新建分支
- 场景一:创建新的分支
当前分支(dev_1)已经开发完毕,下一期的需求需要再新分支(dev_2)上进行开发,如何创建一个新的分支?
- 点击当前分支,选择【New Branch】
- 输入分支名,此时新的分支就已经创建完成了
二、切回老分支,保留新分支的更改
- 场景二:切回老分支,保留新分支的更改
当前分支(dev_1)已经开发完毕,目前正在新的分支(dev_2)上进行开发,此时分支(dev_1)出现了bug,需要回到分支(dev_1)上进行修改,如何保留分支(dev_2)上的修改,而切换到分支(dev_1)?
-
当新创建好分支(dev_2)的时候,此时就已经在(dev_2)的分支上了
-
已经对分支(dev_2)进行更改,但此时要回到分支(dev_1)进行修改bug
-
由于分支(dev_2)进行了更改,无法切回分支(dev_1),此时可有两中方法
方法一: 将分支(dev_2)的更改全部 ** 提交 ** 后,就可以切回分支分支(dev_1)
方法二: 将分支(dev_2)的更改全部 ** 暂存 ** 后,就可以切回分支分支(dev_1)
以下演示方法二,将分支(dev_2)的更改全部暂存,
- 输入Message, 点击【Create Stash】,就可以将分支(dev_2)的更改全部暂存
- 暂存后 对分支(dev_2)的改动就不见了,此时就可以切换回分支(dev_1)
- 切换回分支(dev_1),对bug进行了修改
- 将分支(dev_1)的bug修改完成后,进行代码提交
- 分支(dev_1)提交完成后如下,可以切换到分支(dev_2)继续进行开发
- 如下,已经切换到分支(dev_2)
- 将分支(dev_2)暂存的改动给还原回来
- 根据之前填写的message, 找到暂存的代码,点击【Apply Stash】
- 此时可以看到,之前分支(dev_2)改动的代码已经复原
- 此时分支(dev_2) 已经完成了开发,需要提交代码
- 提交分支(dev_2) 的代码
- 此时不仅代码要提交到远程仓库,还要将分支(dev_2)推送到远程仓库
- 如下,代码和分支推送成功
三、合并分支
- 场景三:合并分支
目前开发主分支是(dev_1),而你由于特殊原因需要在分支(dev_2)上进行开发,最后如何将分支(dev_2)上的更改合并到分支(dev_1)呢?
- 继续上面步骤,我们切换到分支(dev_1),可以看到分支(dev_2)上的修改没有同步到分支(dev_1)
- 合并分支,当前所在的分支是(dev_1),点击分支(dev_2),选择【Merge into Current】
- 此时发生了冲突,原因是分支(dev_1)修改bug改动的代码位置和分支(dev_2)开发的代码位置是同一处,所以产生了冲突
- 根据实际情况进行冲突解决
- 解决完冲突后,就能在分支(dev_1)上面看到分支(dev_2)修改的代码了
- 至此合并分支就完成了