推送标签是什么
标签不会随普通 push 自动上传,需要显式推送。git push --tags 会把本地全部标签推上去,--follow-tags 则只推被已推送提交可达的附注标签,发布流程更可控。更精准的做法是直接点名推某一个标签,动作明确也便于审计。轻量标签与附注标签在 --follow-tags 下行为不同,发布用的版本标签通常用附注标签,并让它指向被发布的那个提交。
基本信息
| --tags | 推送全部本地标签 |
|---|---|
| --follow-tags | 只推可达的附注标签 |
| 点名推送 | git push origin v2.3.0 |
| 持久化 | git config --global push.followTags true |
| 平台 | 任意 Git 客户端与托管平台 |
典型使用场景
- 发布版本后把对应的版本标签推到远端
- 补推遗漏的标签,让远端标签与本地一致
- 只推与本次发布相关的标签,避免带上试验性标签
- 触发依赖标签的流水线(如打标签即发布)
- 排查远端缺少标签导致构建或依赖解析失败
- 为多环境分别打标签并分批推送
常用示例
常用示例
git tag -a v2.3.0 -m 'release 2.3.0' # 先打附注标签
git push origin v2.3.0 # 点名推送,最精准
git push --follow-tags # 推可达的附注标签
git push origin --tags # 推送全部标签
git ls-remote --tags origin # 复核远端标签三种推送方式
| 方式 | 范围 |
|---|---|
| git push origin v2.3.0 | 只推指定标签 |
| git push --follow-tags | 推被已推提交可达的附注标签 |
| git push origin --tags | 推全部本地标签 |
发布常拆成两步:先推分支,再指名推标签,动作明确且便于审计。
标签一旦推送并不自动跟随后续提交,若发现标签指错了提交,需要删除远端标签后重新推送,先与依赖它的流水线协调。
发布打标签的推荐顺序
- 确认本次发布对应的提交已在目标分支上
- git tag -a 打附注标签并写清版本说明
- 先推分支,再点名推送该标签
- 用 git ls-remote --tags 复核远端标签指向
- 需要重打标签时先删除远端标签再重推,并通知依赖方