特性 | 分支 (Branch) | 标签 (Tag) |
定义 | 指向某个提交对象的可变指针 | 指向某个提交对象的不可变指针 |
可变性 | 动态:随新提交不断向前移动 | 静态:创建后固定指向特定 Commit |
用途 | 并行开发、功能迭代、Bug修复 | 标记重要历史节点、版本发布 |
生命周期 | 临时的(合并后可删除) | 永久的(作为版本里程碑) |
分支命名规范
主分支
master/main:生产就绪代码,严格保护
develop:开发主线,集成最新开发完成的功能
临时分支
feature/功能描述:新功能开发- 示例:
feature/user-authentication、feature/async-handler
fix/问题描述:Bug修复- 示例:
fix/pump-station-alarm、fix/memory-leak
hotfix/紧急问题:生产环境紧急修复- 示例:
hotfix/critical-security-patch
refactor/重构描述:代码重构,不改变功能- 示例:
refactor/database-layer
test/测试描述:实验性分支- 示例:
test/performance-optimization
命名原则
- 使用小写字母和连字符分隔单词
- 简洁且具有描述性(2-4个单词)
- 避免使用个人名称(用功能描述替代)
- 包含issue编号:
feature/123-add-login(可选)
常用命令
标签管理与版本号规范
语义化版本号(Semantic Versioning):
vX.Y.Z[-预发布标识]- X (Major):重大变更或不兼容的API修改
- 示例:v1.0.0 → v2.0.0
- Y (Minor):新增向下兼容的功能
- 示例:v1.2.0 → v1.3.0
- Z (Patch):向下兼容的问题修正
- 示例:v1.2.3 → v1.2.4
- 预发布标识(可选):
alpha:内部测试版(v1.0.0-alpha.1)beta:公开测试版(v1.0.0-beta.1)rc:候选发布版(v1.0.0-rc.1)
标签类型
- Lightweight Tag:简单指针,快速标记
- Annotated Tag:包含完整元数据(作者、日期、说明),推荐用于正式发布
标签命令
版本发布流程
- 确认代码已合并到
master并通过测试
- 创建注释标签:
git tag -a vX.Y.Z -m "版本说明"
- 推送标签:
git push origin vX.Y.Z
- 在代码托管平台创建 Release(附带 Changelog)






