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

git,开发,发布,缺陷,分离,模型,概述,支持,master,develop,feature,release,hotfix,类型,分支 · 浏览次数 : 1370

小编点评

**Git 是什么?** Git 是一个分布式版本控制系统,它可以记录文件的修改历史和版本变化,并可以支持多人协同开发。 **Git 的优势:** * **高效:** Git 使用一种名为 “仓库” 的数据结构来保存代码和它们的变更历史,从而提高了开发效率。 * **灵活:** Git 支持多种分支和合并功能,可以适应不同的开发需求。 * **稳定:** Git 的分布式结构提供了更高的灵活性和可靠性,可以确保数据的完整性和安全性。 * **可扩展性:** Git 可以用于大型项目的管理。 **Git 的用途:** * **软件开发:** Git 可以用于任何需要版本控制的项目。 * **项目管理:** Git 可以用于项目管理和维护。 * **代码协作:** Git 可以帮助团队成员协作开发代码。 * **数据恢复:** Git 可以用于恢复数据丢失的代码版本。

正文

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/

与Git开发、发布、缺陷分离模型概述(支持master/develop/feature/release/hotfix类型分支)相似的内容:

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

Git是什么? Git是一种分布式版本控制系统,它可以记录文件的修改历史和版本变化,并可以支持多人协同开发。Git最初是由Linux开发者Linus Torvalds创建的,它具有高效、灵活、稳定等优点,如今已成为软件开发领域中最流行的版本控制系统之一。Git使用一种名为“仓库”的数据结构来保存代码

Git 代码分支管理

Git 代码分支的命名规范以及管理方式对项目的版本发布至关重要,为了解决实际开发过程中版本发布时代码管理混乱、冲突等比较头疼的问题,我们将在文中阐述如何更好的管理代码分支。

【译】了解17.10 GA 中最新的 Git 工具特性

我们相信提高开发和团队协作的生产力可以帮助您产生更好的软件解决方案。这就是为什么 Visual Studio 版本控制团队发布了新特性,简化了内部循环和代码审查体验。

git clone开启云上AI开发

摘要:相比于传统的软件开发,AI开发存在以下4个痛点:算法繁多;训练时间长;算力需求大;模型需手动管理,我们可以使用云上AI开发的方式来缓解以上4个痛点。 本文分享自华为云社区《git clone开启云上AI开发》,作者:ModelArts开发者。 已发布地址:https://developer.h

CodeArts Repo:6大特性助力企业代码稳定可靠安全无忧

摘要:华为云代码托管服务CodeArts Repo已于2月20日22:00正式上线,这是一款全栈自研、基于Git的云端代码托管服务,旨在保护企业核心代码资产安全,提升企业研发质量和效率。 本文分享自华为云社区《稳定可靠安全无忧,华为云发布代码托管服务CodeArts Repo》,作者:华为云头条 。

sourceTree合并一次提交的内容

sourceTree合并一次提交的内容 在基于git的开发中,经常遇到不同分支需要合并某一次特定的提交的代码,而不是合并整个代码。 场景:A分支是通用分支,B分支是私有化分支,现在A分支修改了一个通用的功能,需要合并到B分支上,功能在一次提交上。B分支只需要这次提交的代码,对A分支上改动的其他代码都

在开发过程中使用git rebase还是git merge,优缺点分别是什么?

前言 在开发过程中,git rebase 和 git merge 都是常见的代码合并命令。它们都能够将分支代码合并到主分支,并且都有各自的优缺点。 git merge git merge 是一种将两个或多个分支合并的方法。它的优点是简单、直观且非常容易使用。使用 git merge 执行合并操作会生

面试官:你了解git cherry-pick吗?

事情要从一次不规范的代码开发开始说起 背景故事 时间 2024年某个风平浪静的周五晚上 地点 中国,北京,西二旗,某互联网大厂会议室 人物 小杰,小A,小B,老K 对话 老K:昨天提交的代码被测试打回来了!为什么小B没开发完的内容也一起提交上去了? 小B:啊?我不清楚啊,我在开发分支B开发完一部分就

Git 版本控制:构建高效协作和开发流程的最佳实践

版本控制是软件开发的核心,促进团队协作与项目管理。通过制定明确的分支命名策略,遵循一致的代码提交规范,如指明提交类型和简短描述,增强了历史记录的可读性,可以清晰地组织和理解项目的结构与进展。

利用Git+GitHub进行团队协作开发

自己之前写过两篇关于Git和GItHub使用的文章,分别是 浅谈使用git 进行版本控制博客链接:https://www.cnblogs.com/wj-1314/p/7992543.html 使用GitHub的点点滴滴的博客链接:https://www.cnblogs.com/wj-1314/p/9