首页/开发/Git 与协作速查/分支与标签的区别

分支与标签的区别

分支是可移动指针(继续接收提交),标签是固定锚点(指向某次提交不变);开发用分支、发布用标签。

Git 与协作速查开发更新于 2026-10-12
分支可移动;用于持续开发
标签固定;标注发布点与里程碑
平台两类引用都可配置保护规则

对比示例

对比示例
# 分支会动
git switch main && git commit -m 'feat: next step'
# 标签不动
git tag -a v2.4.0 -m 'release 2.4.0' && git show v2.4.0 --stat | head
发布回溯依赖标签的不可变性;把发布点做成标签比建发布分支更轻。

易错点

  • 在标签上直接提交会处于分离头指针状态,容易产生忘记保留的悬空提交
  • 移动已发布标签会让依赖方对不上号,发布标签视为不可变

数据来源与参考

  • Pro Git 2nd Edition · 2.6 打标签
  • Git 官方文档:git-tag
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌