# ===== CodeLab: git-tag =====
# 以下代码片段按文章出现顺序拼接, 共 7 段

# ----- 片段 1 (bash) -----
git tag
# 按字母顺序列出所有标签
git tag -l "v1.*"

# ----- 片段 2 (bash) -----
git tag v1.0.0-light
git tag -l

# ----- 片段 3 (bash) -----
git tag -a v1.0.0 -m "第一个正式版本:支持用户登录"
git show v1.0.0

# ----- 片段 4 (bash) -----
git log --oneline
# 找到目标提交,比如 a1b2c3d 修复了登录 bug
git tag -a v0.9.0 -m "发布前修复版" a1b2c3d
git tag -n

# ----- 片段 5 (bash) -----
git push origin v1.0.0          # 推送单个标签
git push origin --tags          # 推送所有标签

# ----- 片段 6 (bash) -----
git tag -d v1.0.0-light                    # 删除本地标签
git push origin :refs/tags/v1.0.0-light    # 删除远程标签

# ----- 片段 7 (bash) -----
git checkout main
git pull
# 跑测试、确认代码就绪……
git tag -a v1.0.0 -m "发布 v1.0.0:第一个正式版本"
git push origin main
git push origin v1.0.0
