【必知必会】团队开发之Git分支使用实践

简介: 团队开发之Git分支使用实践

分支说明


master


  • 主分支 , 最终在master分支对外发布
  • 此分支只能从其他分支合并,不能再这个分支直接修改
  • 另外所有在master分支的推送应该打标签做记录,方便追溯
  • 例如release合并到master


develop


  • 主测试分支 , 基于master分支创建
  • 包含所有要发布到下一个版本的代码
  • 只能从其他分支合并
  • release 分支开发完成合并到develop


release


  • 开发分支, 基于master分支创建
  • 主要用于新需求新功能的开发
  • 功能开发完毕后合到develop分支发布测试环境,测试通过后合并到master发布生产环境
  • release可同时存在多个


hotfix


  • 补丁分支 , 基于master分支创建
  • 主要用于对线上的版本进行BUG修复
  • 修复完毕后合并到develop分支发布测试环境,测试通过后合并到master发布生产环境
  • 属于临时分支 , 补丁修复上线后可选删除
  • 紧急修复线上bug的分支操作 可点击这里查看


使用流程


  1. 初始化项目 , 默认创建master分支
  2. 从master拉取第一个develop分支
  3. 从master拉取第一个release分支(多个开发人员拉取多个release同时进行并行开发 , 互不影响)
  4. release分支完成后 , 合并到develop
  5. 从develop分支打tag进行提测,提测过程中在原release分支修改BUG,重复步骤4
  6. 测试通过后合并release到master,基于master分支打tag发布生产环境.此时可删除当前release分支
  7. 上线之后若发现线上BUG , 从master拉取hotfix进行BUG修改
  8. hotfix通过测试上线后可选删除当前hostfix


使用习惯


  1. 多人开发过程中,每个人本地根据需求或者场景创建自己的分支,比如:release-wzy-3.3.0。 其中release是分支类型,wzy是用户名,3.3.0是当前分支对应的版本号
  2. 开发完毕后把release分支合并到develop分支,进行测试。注意千万不要把develop分支合并到自己的release分支。(因为不能把别人的代码拉取到自己本地,避免冲突,更要避免将别人没有测试通过的代码提交到master)


使用工具


我之前的习惯一直是使用命令,在同事的安利下开始使用goland集成的git管理工具,真香:

这里显示的就是当前文件对应的分支:


微信图片_20221112190236.jpg


点击之后可以查看当前工程下所有的分支,可以方便的进行检出、合并。


微信图片_20221112190246.jpg


最友好的是可以进行修改文件的对比,这样我们就不用使用git diff进行比较了。(工具化的比较比git diff的比较更加直观,而且更方便修改)


注意:当我们在一个窗口同时打开多个项目时,git工具是通过你选中的文件而不是你选中的项目目录确定的。


我的习惯是在需要操作Git时,选中该项目下的一个文件,先看最右下角的git分支名称,自查一下。然后在文件的任意位置右键,选择git,进行相关操作就可以了。


微信图片_20221112190250.jpg


Goland是这样的,相信像webStrom、PHPStorm等jetbrains公司推出的开发工具都天然支持Git可视化操作。


TIPS


  1. 发布线上时一定是master合并开发分支,develop分支可能存在其它未测试通过代码
  2. 两个分支进行合并时一定要拉取一下最新代码
相关文章
|
存储 安全 开发工具
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
1098 4
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
|
9月前
|
存储 缓存 数据处理
71_数据版本控制:Git与DVC在LLM开发中的最佳实践
在2025年的大模型(LLM)开发实践中,数据和模型的版本控制已成为确保项目可重复性和团队协作效率的关键环节。与传统软件开发不同,LLM项目面临着独特的数据版本控制挑战:
949 0
|
10月前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
2582 15
|
存储 Linux 开发工具
Git:现代软件开发的基石——原理、实践与行业智慧·优雅草卓伊凡
Git:现代软件开发的基石——原理、实践与行业智慧·优雅草卓伊凡
367 21
Git:现代软件开发的基石——原理、实践与行业智慧·优雅草卓伊凡
|
开发工具 git 开发者
vscode+git解决远程分支合并冲突
通过这些详细步骤,您可以掌握如何使用VSCode和Git高效地解决远程分支合并冲突,提高开发效率和代码质量。希望这些内容对您的学习和工作有所帮助。
3650 86
|
人工智能 前端开发 Java
用git rebase命令合并开发阶段中多条commit提交记录
通过 `git rebase`,可以合并多个提交记录,使开发历史更简洁清晰。操作分为 6 步:查看提交历史 (`git log --oneline`)、设置需合并的提交数 (`git rebase -i HEAD~N`)、修改动作标识为 `s`(squash)、保存退出编辑、调整提交信息、强制推送至远程仓库 (`git push -f`)。此方法适合清理本地无关提交,但若有团队协作或冲突风险,需谨慎使用以避免问题。
2723 60
|
存储 缓存 Java
图解Git——远程分支《Pro Git》
远程分支是 Git 中用于管理分布式协作的关键概念。远程引用指向远程仓库中的分支和标签,常用 `git ls-remote` 或 `git remote show` 查看。日常开发中,通常使用远程跟踪分支(如 `origin/main`)与远程分支交互,简化远程仓库状态的管理和使用。远程跟踪分支记录远程分支的状态,但本身只读。
488 6
|
编译器 开发工具 数据安全/隐私保护
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
本文提供了一个关于如何在Gitee上进行多人协作和版本控制的详细教程,包括新建和初始化仓库、克隆仓库、邀请好友共同管理仓库以及注意事项,旨在帮助用户顺利进行代码协作开发。
3928 1
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
|
Shell 开发工具 git
【Git开发教程 一】
【Git开发教程 一】
|
算法 开发工具 git
【Git开发教程 二 —— Git切换项目版本】
【Git开发教程 二 —— Git切换项目版本】