news 2026/7/15 3:55:08

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
完整演示 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工具,步骤会更简洁,但理解底层原理更重要

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 11:11:36

闭眼入!8个AI论文工具测评:专科生毕业论文+开题报告全攻略

在当前学术研究日益数字化的背景下,AI写作工具已成为提升效率、优化内容质量的重要助手。然而面对市场上五花八门的产品,如何选择真正适合自己的工具成为难题。为此,笔者基于2026年的实测数据与真实用户反馈,围绕功能覆盖、核心服…

作者头像 李华
网站建设 2026/7/14 23:38:22

流量暴跌的原因终于找到了

最近一周多时间,文章的打开率直线下降。 这个号有3500多的关注,前阵子的打开率大概在3%~6%。 上周之后,打开率不到1%。。。 寻思了一圈,发现是咋回事了。 在微信页面,找到搜索框。 输入下面的内容: “…

作者头像 李华
网站建设 2026/7/2 1:00:12

PCIE retimer 的电阻检测原理是什么?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者&…

作者头像 李华
网站建设 2026/7/15 2:56:34

《夜色正浓》熟男熟女太好磕了!张兆辉蓝盈莹成全剧C位

如果近期你也被都市剧《夜色正浓》刷屏,大概很难不被剧中一对特别的CP吸引,那就是剧中由张兆辉与蓝盈莹所组成的cp,这对年龄悬殊的组合竟碰撞出意料之外的默契火花。这对CP的魅力,在于演员与角色之间的高度契合。张兆辉饰演的沈默…

作者头像 李华
网站建设 2026/6/30 16:27:52

ACN配电监控模块:过流保护+能耗统计,工业场景适配

智能配电监控模块主要用于实时监测、保护、控制、远程管理配电回路,广泛覆盖需要稳定供电、能耗管理、安全报警、无人值守的场景。一、规格分类 4DO(50A)4DI4AI485232 50A电流检测4DO(50A)4DI4AI485232 50A电流检测4DO(50A)4DI4AI网口485232 50A电流检测4DO(50A)4DI…

作者头像 李华