Git开发、发布、缺陷分离模型概述(支持master/develop/feature/release/hotfix类型分支)

简介: Git开发、发布、缺陷分离模型概述(支持master/develop/feature/release/hotfix类型分支)

Git是什么?

  Git是一种分布式版本控制系统,它可以记录文件的修改历史和版本变化,并可以支持多人协同开发。Git最初是由Linux开发者Linus Torvalds创建的,它具有高效、灵活、稳定等优点,如今已成为软件开发领域中最流行的版本控制系统之一。Git使用一种名为“仓库”的数据结构来保存代码和它们的变更历史。每个开发人员都可以在本地拥有自己的仓库,并将其与其他人的仓库同步更新。除此之外,Git还提供了强大的分支和合并功能,可以让开发人员在不影响主干的情况下创建和测试新功能。

Git有什么作用?

  Git的使用范围非常广泛,它不仅可以用于软件开发,还可以应用于任何需要版本控制的项目。当团队存在多人协作开发时,Git可以提高开发效率,减少代码冲突[这个是Git作为分布式版本控制系统一个优势之一,可以避免开发环境产生冲突而导致代码丢失的情况],同时也可以方便项目管理和维护。

CVS、SVN代码冲突和Git代码冲突哪个更好优势在哪?

  • 在CVS、SVN集中式的代码管理工具中,发生冲突时需要首先将文件lock住,即文件锁定,以保证只有一个人在修改该文件,避免多人同时修改导致文件冲突。但是这种方式会影响开发效率,并且无法支持离线工作模式。
  • Git分布式管理工具中,由于本地仓库不依赖于中央服务器,因此可以在没有网络连接的情况下继续工作,这也是Git的优势之一。发生冲突时,每个人都可以在本地仓库中解决冲突,然后将结果推送到中央服务器上。Git还可以使用合并和分支功能,使多人协作开发更加容易。另外,Git的分布式结构意味着它具有更高的灵活性和可靠性,可以保证数据的完整性和安全性。同时,Git也支持大规模开发和复杂项目的管理。

Git开发、发布、缺陷分离模型介绍

  在一些流程完善的公司往往都会有着自己一套比较完善的Git分支管理模型来保障开发和生成环境的代码稳定性,而Git开发、发布、缺陷分离模型是一种流行且适用于大多数团队的Git分支管理模型,它支持master/develop/feature/release/hotfix类型分支。使用这种分支管理模型可以有效地隔离开发、发布和缺陷修复工作,提高代码的质量和稳定性。同时,也可以更好地协作和进行版本管理。如下是一张详细的master/develop/feature/release/hotfix类型分支管理图:

 

master/develop/feature/release/hotfix每个分支的作用

master分支

master分支是主分支,包含了已经发布到生产环境的稳定,可靠版本的代码。一般情况下,master分支应该只用于发布新版本,而不应该直接修改或提交新的功能。

创建流程:

  1. 所有的发布代码都在master分支上合并完成。
  2. develop分支上的所有功能都经过测试并处于可发布状态时,将develop创建的对应测试通过的release-v1.0分支合并到master分支上生成一个新的发布版本。

develop分支

develop分支是开发分支,包含了当前正在进行的所有功能和任务。所有新功能开发、改进、优化等都应该从此分支开始,并最终合并回此分支。

创建流程:

  1. 所有的新的功能开发、改进、优化等都在develop分支上完成。
  2. 当某个功能被完成并且经过测试后,在一个独立的feature分支上进行开发的功能会被合并回develop分支。

feature分支

feature分支是从develop分支创建的分支,通常用于开发新功能。每个新功能都应该从develop分支开始,并在一个独立的feature分支上进行开发工作。一旦新功能得到完全实现、测试并且可靠,该分支就会被合并回develop分支。

创建流程:

  1. develop分支上创建一个新的feature分支。
  2. 在此分支上进行新功能的开发工作。
  3. 当新功能得到完全实现、测试并且可靠时,将其合并回develop分支。

release分支

release分支是从develop分支创建的分支,通常用于为即将发布的版本做准备工作。在此分支上可以进行最终的测试、修复bug、检查文档等操作,以确保发布版本的质量。一旦准备工作完成并且得到完全测试,该分支就会被合并回master分支,并作为新的发布版本。并将该分支合并回develop分支,以便后续的开发工作。

创建流程:

  1. develop分支上创建一个新的release分支。
  2. 在此分支上进行最后的测试、修复bug和更新文档等操作。
  3. 将该分支合并回master分支作为新的发布版本。
  4. 将该分支合并回develop分支,以便后续的开发工作。

hotfix分支

hotfix分支是从master分支创建的分支,用于在生产环境中紧急修复问题。修复完毕后,该分支将会被合并回masterdevelop分支。

创建流程:

  1. master分支上创建一个新的hotfix分支。
  2. 在此分支上进行必要的修改和测试。
  3. 将该分支合并回master分支以修复问题。
  4. 将该分支合并回develop分支以确保将来新版正常工作。

Git可视化管理源代码详细教程

Git分布式版本控制器常用命令和使用

参考文章

https://nvie.com/posts/a-successful-git-branching-model/

相关文章
|
1月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
112 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
1月前
|
开发工具 git 开发者
关于git 解决分支冲突问题(具体操作,包含截图,教你一步一步解决冲突问题)
本文通过具体操作和截图,详细讲解了如何在Git中解决分支冲突问题,包括如何识别冲突、手动解决冲突代码、提交合并后的代码,以及推送到远程分支。
350 3
关于git 解决分支冲突问题(具体操作,包含截图,教你一步一步解决冲突问题)
|
2月前
|
缓存 开发工具 git
Git创建分支以及合并分支
在Git中,创建分支使用`git branch [branch_name]`,切换分支使用`git checkout [branch_name]`。修改文件后,通过`git add [file]`添加到暂存区,然后`git commit`提交到本地仓库。如果是新建分支的第一次推送,使用`git push origin [branch_name]`推送到远程仓库,之后可以简化为`git push`。合并分支时,使用`git merge [branch_name]`将指定分支的更改合并到当前分支。
69 2
Git创建分支以及合并分支
|
1月前
|
开发工具 git
Git分支使用总结
Git分支使用总结
36 1
|
1月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
38 1
|
1月前
|
编译器 开发工具 数据安全/隐私保护
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
本文提供了一个关于如何在Gitee上进行多人协作和版本控制的详细教程,包括新建和初始化仓库、克隆仓库、邀请好友共同管理仓库以及注意事项,旨在帮助用户顺利进行代码协作开发。
196 0
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
|
2月前
|
存储 Linux 开发工具
Git基础命令,分支,标签的使用【快速入门Git】
本文详细介绍了Git版本控制系统的基础概念和常用命令,包括工作区、暂存区和版本库的区别,文件状态的变化,以及如何进行文件的添加、提交、查看状态、重命名、删除、查看提交历史、远程仓库操作和分支管理,还涉及了Git标签的创建和删除,旨在帮助读者快速入门Git。
Git基础命令,分支,标签的使用【快速入门Git】
|
2月前
|
测试技术 开发工具 git
掌握 Git 分支策略:提升你的版本控制技能
在现代软件开发中,版本控制至关重要,Git 作为最流行的分布式版本控制系统,其分支管理策略对于高效协作和代码维护尤为重要。本文介绍了几种常用的 Git 分支策略,包括主线开发模型、功能分支模型、Gitflow 工作流和 Forking 工作流,并探讨了如何根据项目需求选择合适的分支模型。通过保持 `master` 分支稳定、及时合并清理分支、使用命名规范、利用 Pull Request 进行代码审查及自动化测试等最佳实践,可以显著提升团队协作效率和软件质量。掌握这些策略将帮助开发者更好地管理代码库,加快开发流程。
|
1月前
|
编译器 网络安全 开发工具
git学习五:切换本地仓库出现的问题。修改git配置初始化。error:src refspec master does not match any。错误总结,送上几个案例
这篇文章是关于Git使用中遇到的一些问题及其解决方案的总结,包括切换本地仓库时的问题、修改Git初始化配置、以及解决"error: src refspec master does not match any"错误等。
54 0
|
2月前
|
开发工具 git
7-5git reset --hard origin/master代表什么意思
7-5git reset --hard origin/master代表什么意思