news 2026/4/18 6:58:41

完整演示 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/4/10 20:25:35

适老化移动应用界面易用性测试体系构建与实施策略

一、适老化测试的时代背景与核心挑战 人口结构变革的紧迫需求 我国60岁以上人口占比已达18.7%(2.64亿),老年群体数字需求激增与界面使用障碍的矛盾日益凸显。测试人员需直面三大核心挑战:视觉感知衰退导致的界面元素识别困难&…

作者头像 李华
网站建设 2026/4/16 13:56:28

期刊让我投“预印本”,我投还是不投?投它有啥用?

在学术研究的道路上,科研工作者们常常会面临各种选择,其中之一就是当收到期刊让投“预印本”的邀请时,该何去何从。预印本近年来在学术领域逐渐崭露头角,但其对于许多研究者来说,仍然笼罩着一层神秘面纱。那么&#xf…

作者头像 李华
网站建设 2026/4/16 19:49:54

被椰树独宠了十几年的长公主徐冬冬大婚!60亿票房作品成亮眼陪嫁

在这个万物皆可营销的时代,一场婚礼能玩出多少花样?想知道答案就来看看徐冬冬和尹子维的“椰树牌”婚礼。当印有“新婚幸福,早生龙凤”的椰汁罐铺满货架,当“椰历38年,椰树公主大婚”的梗刷屏全网,人们才惊…

作者头像 李华
网站建设 2026/3/13 16:43:50

打破传输瓶颈:替代国外FTP的工具有哪些新选择

信创战略深化落地,数据安全合规要求愈发严苛,国外 FTP 工具的安全漏洞、信创适配缺失等短板愈发凸显,已难以匹配企业数字化转型的传输需求。越来越多企业开始探寻国产化替代方案,替代国外 FTP 的工具有哪些?成为政企搭…

作者头像 李华
网站建设 2026/4/18 5:46:19

降重省心了!专科生专用的降AI率工具 —— 千笔·降AIGC助手

在AI技术迅速发展的今天,越来越多的专科生开始借助AI工具辅助论文写作,以提升效率和内容质量。然而,随之而来的AI率超标问题也日益突出,成为影响论文通过的重要障碍。随着查重系统对AI生成内容的识别能力不断提升,许多…

作者头像 李华