代码管理的艺术:你的团队是否还在为 Git 分支管理头疼?

简介: 本文回顾了作者从2~3人初创团队到百人技术团队的经历,分享了代码管理工具从无到SVN再到Git的演变。重点介绍了Git Flow和GitHub Flow两种常用的Git分支管理模型,分析了它们的适用场景和优缺点。Git Flow适合中大型项目,而GitHub Flow则更适合小型团队和Web应用开发。

在技术团队里,我亲身经历了

从一个 2~3 人初创阶段的团队到百人规模技术团队的演变

也见证了技术栈和系统架构从传统到现代的变迁

团队技术、架构和运维模式经历了翻天覆地的变化。复盘一下自己走过的路,所踩过的那些坑,背过的锅。。。  

这里来复盘一下使用 git 的一些经历。最早团队是没有使用任何的代码管理工具,基本是大家都是一人一个团队没太多交互,后面人多了就使用 SVN,对于团队项目代码或项目文档是非常方便的,再后来就使用了 git 来管理。那么你的团队真的会使用 git 吗?git 的分支应该如何使用呢?

一般来说使用 git 的工作流程比较公认的就是两种,Git Flow和GitHub Flow。


添加图片注释,不超过 140 字(可选)


Git Flow 是一种非常流行的分支管理模型,由 Vincent Driessen 于 2010 年提出,旨在为团队提供清晰、规范的代码管理方法。通过这种工作流,团队可以更好地组织和管理代码的开发、测试与发布。Git Flow 包含了多个长期存在的分支,并对每个分支的用途和使用场景做了明确的划分。


添加图片注释,不超过 140 字(可选)


一、Git Flow 中的分支类型及用途

  1. 主分支(mainmaster
  • 用途:生产环境中的稳定代码
  • 使用成员:运维人员
  • 开发分支(develop
  • 用途:开发的主分支
  • 使用成员:开发人员
  • 功能分支(feature/*
  • 用途:新功能开发的分支,开发完合并至develop分支
  • 使用成员:开发人员
  • 发布分支(release/*
  • 用途:提供给测试人员测试
  • 使用成员:测试人员
  • 修复分支(bugfix/*
  • 用途:在开发或测试过程中发现的非生产 Bug 分支
  • 使用成员开发人员
  • 紧急修复分支(hotfix/*
  • 用途:用于生产环境中发现的紧急问题的修复。
  • 使用成员开发人员

二、工作流程

  1. 功能开发:开发人员从 develop 分支创建 feature 分支,开发完成后合并回 develop
  2. 集成和测试:集成完成后,从 develop 分支创建 release 分支,测试人员使用 release 分支进行功能和回归测试。
  3. 发布阶段:测试完成且验收通过后,合并 release 分支到 main 分支。
  4. 紧急修复:如果生产环境发现问题,使用 hotfix 分支进行修复,并合并回 maindevelop

总结

Git Flow 提供了清晰的工作流,通过明确的分支划分和权限管理,保障了代码的稳定性和版本的可控性。对于中大型项目和需要显式版本控制的团队,这是一种非常适合的分支管理策略。不过也存在一定的局限性:

  1. 复杂性:Git Flow引入了复杂性,由于多个长期存在的分支,这使得它对于较小的项目或采用持续交付实践的团队不太合适。
  2. 开销:管理和合并多个分支可能会减慢开发过程。


添加图片注释,不超过 140 字(可选)


Git Flow 的提出者也说过 Git Flow是一种非常流行的Git分支管理模型,但它并不是“万能药”。如果您的团队正在进行软件的持续交付,我建议采用更简单的工作流程(例如GitHub flow),而不是尝试将 git-flow 硬塞到您的团队中。

相比 Git Flow GitHub Flow 是一种 更 简单而敏捷的 Git 分支管理模型,它由 GitHub 推广,旨在支持 持续交付快速迭代。GitHub Flow 只包含master和feature 分支适用于小型团队和 Web 应用开发。它通过更少的分支和简单的工作流来提高开发效率和敏捷性。  


添加图片注释,不超过 140 字(可选)



我是栈江湖,如果你喜欢此文章,不要忘记关注+点赞哦!你的支持是我创作的动力。如果你有任何意见或建议,欢迎在下方留言。若转载,请注明文章来源。

目录
相关文章
|
2天前
|
调度 云计算 芯片
云超算技术跃进,阿里云牵头制定我国首个云超算国家标准
近日,由阿里云联合中国电子技术标准化研究院主导制定的首个云超算国家标准已完成报批,不久后将正式批准发布。标准规定了云超算服务涉及的云计算基础资源、资源管理、运行和调度等方面的技术要求,为云超算服务产品的设计、实现、应用和选型提供指导,为云超算在HPC应用和用户的大范围采用奠定了基础。
|
9天前
|
存储 运维 安全
云上金融量化策略回测方案与最佳实践
2024年11月29日,阿里云在上海举办金融量化策略回测Workshop,汇聚多位行业专家,围绕量化投资的最佳实践、数据隐私安全、量化策略回测方案等议题进行深入探讨。活动特别设计了动手实践环节,帮助参会者亲身体验阿里云产品功能,涵盖EHPC量化回测和Argo Workflows量化回测两大主题,旨在提升量化投研效率与安全性。
云上金融量化策略回测方案与最佳实践
|
11天前
|
人工智能 自然语言处理 前端开发
从0开始打造一款APP:前端+搭建本机服务,定制暖冬卫衣先到先得
通义灵码携手科技博主@玺哥超carry 打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用 AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。
8882 20
|
15天前
|
Cloud Native Apache 流计算
资料合集|Flink Forward Asia 2024 上海站
Apache Flink 年度技术盛会聚焦“回顾过去,展望未来”,涵盖流式湖仓、流批一体、Data+AI 等八大核心议题,近百家厂商参与,深入探讨前沿技术发展。小松鼠为大家整理了 FFA 2024 演讲 PPT ,可在线阅读和下载。
4769 12
资料合集|Flink Forward Asia 2024 上海站
|
15天前
|
自然语言处理 数据可视化 API
Qwen系列模型+GraphRAG/LightRAG/Kotaemon从0开始构建中医方剂大模型知识图谱问答
本文详细记录了作者在短时间内尝试构建中医药知识图谱的过程,涵盖了GraphRAG、LightRAG和Kotaemon三种图RAG架构的对比与应用。通过实际操作,作者不仅展示了如何利用这些工具构建知识图谱,还指出了每种工具的优势和局限性。尽管初步构建的知识图谱在数据处理、实体识别和关系抽取等方面存在不足,但为后续的优化和改进提供了宝贵的经验和方向。此外,文章强调了知识图谱构建不仅仅是技术问题,还需要深入整合领域知识和满足用户需求,体现了跨学科合作的重要性。
|
23天前
|
人工智能 自动驾驶 大数据
预告 | 阿里云邀您参加2024中国生成式AI大会上海站,马上报名
大会以“智能跃进 创造无限”为主题,设置主会场峰会、分会场研讨会及展览区,聚焦大模型、AI Infra等热点议题。阿里云智算集群产品解决方案负责人丛培岩将出席并发表《高性能智算集群设计思考与实践》主题演讲。观众报名现已开放。
|
11天前
|
人工智能 容器
三句话开发一个刮刮乐小游戏!暖ta一整个冬天!
本文介绍了如何利用千问开发一款情侣刮刮乐小游戏,通过三步简单指令实现从单个功能到整体框架,再到多端优化的过程,旨在为生活增添乐趣,促进情感交流。在线体验地址已提供,鼓励读者动手尝试,探索编程与AI结合的无限可能。
三句话开发一个刮刮乐小游戏!暖ta一整个冬天!
|
10天前
|
消息中间件 人工智能 运维
12月更文特别场——寻找用云高手,分享云&AI实践
我们寻找你,用云高手,欢迎分享你的真知灼见!
878 58