侧边栏壁纸
  • 累计撰写 90 篇文章
  • 累计创建 95 个标签
  • 累计收到 10 条评论

目 录CONTENT

文章目录
Git

Git学习-分支在实际开发流程中的应用

汤圆学Java
2022-01-24 / 0 评论 / 0 点赞 / 162 阅读 / 2,209 字
温馨提示:
本文最后更新于 2022-06-20,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

前言

前面我们学过了分支的创建、合并等操作,也了解了合并冲突的解决办法;

本篇我们就从实际开发的场景来看下,分支的用法。

目录

  1. 长期分支
  2. 短期分支

正文

1. 长期分支

有的分支,会贯穿于整个开发周期,这时我们就可以称这些分支为长期分支;

比如我们在实际开发时,都会有一个默认的master分支,用来指向稳定的代码;

而其他的分支比如dev开发分支,用来指向不稳定的或者待测试的代码;

当dev分支的代码通过测试时,我们就可以将其合并到master分支进行发布;

所以主分支master一般都是在开发分支dev的后面;

像这里的master主分支和dev开发分支,就属于长期分支;

这里我们截取网上的一个图来看下:

img

  1. 这里的初始版本只有一个master分支
jalon@bogon git-basic % git branch
* master
  1. 然后创建一个dev分支进行开发,等到验收通过,就合并到master主分支,此时有一个发布的版本
jalon@bogon git-basic % git branch dev
jalon@bogon git-basic % git switch dev
jalon@bogon git-basic % vim a.txt 
jalon@bogon git-basic % git add a.txt 
jalon@bogon git-basic % git commit -m "update a.txt"
[dev edb6224] update a.txt
 1 file changed, 1 insertion(+), 1 deletion(-)
jalon@bogon git-basic % git switch master
Switched to branch 'master'
jalon@bogon git-basic % git merge dev 
Merge made by the 'recursive' strategy.
  1. 然后继续回到dev开发,等到验收通过,再合并到master主分支,此时就有了两个发布的版本

2. 短期分支

相对的,短期分支就是用来解决特定的某个问题而建立的分支,这种分支不会长期存在于开发周期中;

短期分支又可以分为多种:

  • 功能分支
  • 修复分支

功能分支

比如现在我们要给管理后台新增加一个 个人信息的界面,那么我们就可以创建一个feature分支,然后在这个分支上进行开发;

等到开发完成,再合并到dev开发分支;

大概的流程如下所示:

img

修复分支:

该分支主要用来修复bug,修复完成后,该分支会被删除;

一般修复分支都是从master主分支拉取,修复完成后会合并到master分支和dev分支

比如现在管理系统的线上环境有一个bug,急需修复;

这时我们就可以从master主分支创建一个修复分支,命名为hotfix v1.0这样的格式(1.0表示产品的版本号),然后在hotfix v1.0分支进行修复;

等到修复完成,就把代码合并到master分支和dev分支;

jalon@bogon git-basic % git branch hotfix-v1.0
jalon@bogon git-basic % git switch hotfix-v1.0
Switched to branch 'hotfix-v1.0'
jalon@bogon git-basic % vim a.txt
jalon@bogon git-basic % git commit -a -m "fixbug-v1.0"
[hotfix-v1.0 e419537] fixbug-v1.0
 1 file changed, 1 insertion(+)
jalon@bogon git-basic % git switch master
Switched to branch 'master'
jalon@bogon git-basic % git merge hotfix-v1.0
Updating d2815b8..e419537
Fast-forward
 a.txt | 1 +
 1 file changed, 1 insertion(+)
jalon@bogon git-basic % git switch dev
Switched to branch 'dev'
jalon@bogon git-basic % git merge hotfix-v1.0
Updating 9d460f3..e419537
Fast-forward
 a.txt | 1 +
 1 file changed, 1 insertion(+)

合并完成后,查看下提交记录:可以看到,修复记录已经合并到dev和master分支

jalon@bogon git-basic % git log
commit e4195378280f3f215652bb95c8104f83bbf50151 (HEAD -> dev, master, hotfix-v1.0)
Author: Jalon2015 <1121263265@qq.com>
Date:   Sat Jan 22 16:08:57 2022 +0800

    fixbug-v1.0

最后删除短期分支 hotfix-v1.0

jalon@bogon git-basic % git branch -d hotfix-v1.0
Deleted branch hotfix-v1.0 (was e419537).

总结

本篇主要介绍了分支在实际应用中的几种类型,如下所示:

长期分支 短期分支
master 主分支 feature 功能分支
dev 开发分支 hotfix 修复分支
0

评论区