Git常用命令整理六(创建分支的子分支)

在实际开发中遇到了这样一个问题:

团队的成员在一个fetaure branch上做一期开发,目前开发中,还需要一段时间上线。现在需要在fetaure branch功能的基础上做二期开发,二期会晚于一期上线,同时fetaure branch还在提交。

解决思路大概就是创建分支的子分支,网上很多资料都是如何创建,其实比较重要的是如何合并回去,合并会不会有风险。

这也是这篇文章讨论的重点,基于实际的测试。

Git系列的目录如下:
Git常用命令整理一(Git stash)
Git常用命令整理二(Git托管项目)
Git常用命令整理三(Git配置)
Git常用命令整理四(Git删除文件)
Git常用命令整理五(Git疑难杂症)
Git常用命令整理六(创建分支的子分支)
Git常用命令整理七(稀疏检出)
Git常用命令整理八(忽略文件)
Git常用命令整理九(忽略跟踪)
Git常用命令整理十(优雅用法)
Git常用命令整理十一(各种撤回)

一、算法
0、基于master分支创建develop

git checkout -b develop origin/master

1、基于develop创建feature_v1,在feature_v1上更改代码提交。

git checkout -b feature_v1 orgin/develop

2、基于feature_v1创建feature_v2,在feature_v2上更改代码提交。

git checkout -b feature_v2 orgin/feature_v1

3、在feature_v1上改代码提交。
在feature_v1上git pull,不会更新到feature_v2的更新

4、在feature_v2上更新。
会更新到feature_v1的变更,涉及到冲突需要解决冲突。

5、feature_v1合并到develop。

6、feature_v2继续提交代码,合并到develp即可。
feature_v2不需要先合并到feature_v1,在合并到develop。

二、总结
说明:为了方便阐述,这里主分支为master分支,父分支为基于master分支fork的分支,子分支为基于父分支fork的分支。

针对以上问题,创建分支的子分支即可,子分支独立开发,提交不会影响父分支,并且可以更新到父分支的提交。最终父分支先合并到主分支上线,子分支开发完后,直接合并到主分支上线即可。

发表评论

电子邮件地址不会被公开。 必填项已用*标注