当前位置: 首页 > news >正文

完整演示 Git Flow 所有分支的创建与流转过程的 实操命令示例

✅ 假设项目刚初始化,只有main分支
✅ 所有操作基于命令行
✅ 模拟一个完整周期:开发 → 发布 → 热修复


🚀 第 0 步:初始化项目(仅有 main)

# 创建项目目录mkdirmy-project&&cdmy-project# 初始化 Git 仓库gitinit# 创建初始文件并提交(main 分支)echo"# My Project">README.mdgitadd.gitcommit -m"chore: initial commit"# (可选)推送到远程gitremoteaddorigin https://your-gitlab.com/your/repo.gitgitpush -u origin main

此时只有main分支。


🌱 第 1 步:创建develop分支(长期存在)

# 从 main 创建 developgitcheckout -b develop# 推送到远程(建立跟踪)gitpush -u origin develop

🔔develop是所有新功能的集成基地,从此以后新功能不再直接基于 main 开发


➕ 第 2 步:开发一个新功能(feature 分支)

# 从 develop 创建 feature 分支gitcheckout developgitcheckout -b feature/user-login# 模拟开发echo"Login logic here">login.jsgitadd.gitcommit -m"feat: implement user login"# 推送 feature 分支(团队协作时需要)gitpush -u origin feature/user-login

🔁 第 3 步:完成功能,合并回develop

# 切换回 developgitcheckout develop# 合并 feature(使用 --no-ff 保留分支拓扑)gitmerge --no-ff feature/user-login -m"Merge feature/user-login into develop"# 推送 developgitpush origin develop# 删除本地和远程 feature 分支gitbranch -d feature/user-logingitpush origin --delete feature/user-login

✅ 此时develop包含了新功能,但main仍是旧版本。


📦 第 4 步:准备发布 v1.0.0(release 分支)

# 从 develop 创建 release 分支gitcheckout developgitcheckout -b release/v1.0.0# 模拟发布前工作:改版本号、写文档、修小 bugecho"1.0.0">VERSIONgitadd.gitcommit -m"chore: bump version to 1.0.0"# 推送 release 分支(可选,便于团队测试)gitpush -u origin release/v1.0.0

✅ 第 5 步:完成发布 —— 合并到maindevelop

# 1. 合并到 main,并打标签gitcheckout maingitmerge --no-ff release/v1.0.0 -m"Release v1.0.0"gittag -a v1.0.0 -m"Version 1.0.0"gitpush origin main --tags# 2. 合并回 develop(同步 release 中的修复)gitcheckout developgitmerge --no-ff release/v1.0.0 -m"Merge release/v1.0.0 into develop"gitpush origin develop# 3. 删除 release 分支gitbranch -d release/v1.0.0gitpush origin --delete release/v1.0.0

✅ 现在main上有v1.0.0标签,develop也包含了发布期的修改。


🆘 第 6 步:线上发现 Bug,紧急热修复(hotfix)

# 从 main(最新稳定版)创建 hotfix 分支gitcheckout maingitcheckout -b hotfix/v1.0.1# 修复问题echo"Fixed critical bug">>login.jsgitadd.gitcommit -m"fix: resolve login timeout in production"# 推送 hotfix(可选)gitpush -u origin hotfix/v1.0.1

🛠️ 第 7 步:完成热修复 —— 合并到maindevelop

# 1. 合并到 main,打新标签gitcheckout maingitmerge --no-ff hotfix/v1.0.1 -m"Hotfix v1.0.1"gittag -a v1.0.1 -m"Hotfix for login timeout"gitpush origin main --tags# 2. 合并到 develop(避免下次发布时 bug 复现)gitcheckout developgitmerge --no-ff hotfix/v1.0.1 -m"Merge hotfix/v1.0.1 into develop"gitpush origin develop# 3. 删除 hotfix 分支gitbranch -d hotfix/v1.0.1gitpush origin --delete hotfix/v1.0.1

🌳 最终分支状态

分支状态
main包含v1.0.1,生产环境代码
develop包含v1.0.1修复 + 未来新功能的基础
远程无feature/*release/*hotfix/*分支(已清理)

🔁 下一轮开发?

重复第 2 步:从develop创建新的feature/xxx,继续迭代!


💡 小贴士

  • 所有合并都使用--no-ff:保留分支历史,便于追溯。
  • 删除远程分支后,其他成员执行git fetch --prune清理本地引用。
  • 可用git log --oneline --graph --all查看分支拓扑。

这个完整示例展示了从零开始,基于 main 构建整个 Git Flow 流程。你可以复制这些命令在本地实验,加深理解。如果配合git-flow工具,步骤会更简洁,但理解底层原理更重要

http://www.jsqmd.com/news/361913/

相关文章:

  • nginx的安装一个最简单的配置(windows和Centos)
  • 内存映射的属性
  • 神马影视 8.8 版 2026 最新源码系统 技术解析
  • 拉萨样本:高原缺氧环境下的AI压力测试术
  • OCAD应用:凸轮曲线的优化设计
  • Git Flow 详解与最佳实践:打造规范高效的团队协作流程
  • 【Django毕设全套源码+文档】基于Python的旅游管理系统的设计(丰富项目+远程调试+讲解+定制)
  • 大模型落地全攻略:从技术实现到商业价值创造1
  • 【Django毕设全套源码+文档】基于Python的智慧社区管理系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • Spring Boot中实现多线程6种方式,提高架构性能
  • HTML 用户二次确认:提升操作安全性的关键实践
  • MES系统中的核心基础概念
  • 【Django毕设全套源码+文档】基于Django的粤系菜谱分享平台的设计与实现(丰富项目+远程调试+讲解+定制)
  • 从数据清洗到生命科学:测试员的生物学跃迁
  • python自习室座位签到预约系统nodejs vue
  • 深入理解 Vue 生命周期:created 与 mounted 的核心差异与实战指南
  • 大模型落地实战全景:从技术选型到商业价值实现
  • 天猫超市卡回收攻略 - 畅回收小程序
  • 学霸都在用!2026AI 论文生成软件榜单,科研党亲测好用
  • AI越狱攻防战:揭秘大模型安全威胁 - 指南
  • 震惊!90%太空开发者忽略的宇宙辐射防护:软件测试从业者的生存指南
  • 大模型落地全栈指南:从技术实现到商业价值
  • 照着用就行:10个降AI率工具测评,专科生必看的降AI率指南
  • Mysql小表驱动大表优化原理
  • 口服抗衰老的产品是真的有效吗?全球10大抗衰排名,口碑好评率+成分解析双维度,新手入门必看榜单 - 博客万
  • Claude 一个插件,让全球软件股蒸发 2850 亿美元
  • 直接上结论:8个AI论文软件测评!专科生毕业论文写作+格式规范全攻略
  • 大模型落地全攻略:从技术实践到商业价值创造
  • 【实操】基于计算机视觉的UI自动化测试:让AI“看”懂界面
  • 大模型落地全景指南:从技术实践到企业价值创造