【Git】面对发布或重要节点,Git如何打Tag?

在 Git 中,tag 通常用于标记某个提交(commit)作为项目的某个重要节点,例如发布版本(v1.0、v2.0 等)。Git 支持两种类型的 tag:

  • 轻量标签(Lightweight):只是一个指向特定提交的指针。
  • 附注标签(Annotated):包含更多信息(如作者、时间、说明等),推荐使用。

🧾 常用 Git 打 Tag 操作

1. 查看已有标签

bash

git tag

2. 创建轻量标签

bash

git tag <tag_name>

示例:

bash

git tag v1.0-light

3. 创建附注标签(推荐)

bash

git tag -a <tag_name> -m "<message>"

示例:

bash

git tag -a v1.0 -m "Release version 1.0"

4. 给历史提交打标签

先查看提交历史获取 commit hash:

bash

git log --oneline

然后给指定 commit 打标签:

bash

git tag -a <tag_name> <commit_hash>

示例:

bash

git tag -a v0.9 abc1234

5. 推送标签到远程仓库

默认 git push 不会推送 tag,需手动推送:

bash

git push origin <tag_name>

推送所有本地标签:

bash

git push origin --tags

6. 删除本地标签

bash

git tag -d <tag_name>

7. 删除远程标签

bash

git push origin :refs/tags/<tag_name>

或使用新语法(Git >= v1.8.0):

bash

git push --delete origin <tag_name>

8. 查看某个标签详情

bash

git show <tag_name>


✅ 示例流程(创建并推送一个附注标签)

复制代码
# 创建附注标签
git tag -a v1.1 -m "正式发布1.1版本"

# 查看标签信息
git show v1.1

# 推送标签到远程仓库
git push origin v1.1

📌 小提示

  • 标签命名建议统一格式,如:v1.0.0release-202406
  • 在 CI/CD 或构建系统中,常通过 tag 触发自动打包、部署等流程。
  • 如果你正在处理的是团队项目,请确保 tag 的命名和用途清晰明确,避免冲突。

如有更具体场景(如从图形界面工具操作、配合 GitHub/Gitee 使用等),可继续提问。

相关推荐
星源~33 分钟前
tree 命令集成到 Git Bash:可视化目录结构的指南
git·单片机·物联网·嵌入式·项目开发
zhaqonianzhu2 小时前
git gerrit安装钩子
git·gerrit
这是个栗子2 小时前
【问题解决】VSCode终端中看不到Git-Bash
ide·git·vscode
悲伤小伞2 小时前
linux_git的使用
linux·c语言·c++·git
天机️灵韵3 小时前
云效DevOps vs Gitee vs 自建GitLab的技术选型
git·开源项目
荔枝吻9 小时前
【AI总结】Git vs GitHub vs GitLab:深度解析三者联系与核心区别
人工智能·git·github
mrbone1111 小时前
Git-git worktree的使用
开发语言·c++·git·cmake·worktree·gitab
小哈龙12 小时前
裸仓库 + Git Bash 搭建 本地 Git 服务端与客户端
开发语言·git·bash
GISer_Jing1 天前
Git协作开发:feature分支、拉取最新并合并
大数据·git·elasticsearch
高山莫衣1 天前
git rebase多次触发冲突
大数据·git·elasticsearch