跳到主要内容

01 标签管理

一、Git 标签介绍

1.1 标签是什么

标签就是为某个 commit 起一个别名(例如V1.0),方便识别、引用和发布版本

1.2 标签的注释

  • 轻量标签(创建标签时不写注释)
  • 附注标签(创建标签时写注释)

1.3 标签的使用场景

  1. 版本发布

    • 用于标记项目的发布版本(如 v1.0v2.0),便于快速定位到特定的版本。
  2. 里程碑标记

    • 在开发过程中标记重要的里程碑(如功能完成、阶段性成果等)。
  3. 回滚和调试

    • 通过标签快速回滚到某个稳定版本,或用于调试特定版本。
  4. 自动化构建和部署

    • 在 CI/CD 流程中,标签可触发自动化构建或部署。
  5. 版本对比

    • 对比不同版本之间的代码差异,便于了解变更内容。

二、Git 标签管理

2.1创建标签

  1. 轻量标签

    git tag <tagname> [commit_id]

    轻量标签只是提交的引用,不包含额外信息。

    $ git tag v0.4
    $ git log --oneline --graph
    * c743a28 (HEAD -> master, tag: v0.4) 修改hello-world.cpp 添加一句输出: hello,zxzsk!
    * fc52d37 添加测试文件:newfile2
    * 810be7a 添加测试文件:newfile
    * d4ee978 第一次提交

    $ git tag v0.1 d4ee978
    $ git log --oneline --graph
    * c743a28 (HEAD -> master, tag: v0.4) 修改hello-world.cpp 添加一句输出: hello,zxzsk!
    * fc52d37 添加测试文件:newfile2
    * 810be7a 添加测试文件:newfile
    * d4ee978 (tag: v0.1) 第一次提交
  2. 附注标签

    git tag -a <tagname> -m "标签说明"

    附注标签包含额外信息,如作者、日期和说明。

    $ git tag v0.2 -m "tag注释信息" 810be7a

2.2查看标签

列出所有标签:

git tag
$ git tag
v0.1
v0.2
v0.4

显示标签的详细信息:

git show <tagname>
git show v0.2
tag v0.2
Tagger: zxzsk <1462173902@qq.com>
Date: Wed Apr 30 16:49:54 2025 +0800

tag注释信息

commit 810be7aeee1ef8475e49c63fcce5cd9656298cb9 (tag: v0.2)
Author: zxzsk <1462173902@qq.com>
Date: Wed Apr 30 15:54:23 2025 +0800

添加测试文件:newfile

diff --git a/newfile b/newfile
new file mode 100644
index 0000000..e69de29

2.3 删除标签

删除本地标签:

git tag -d <tagname>
$ git tag -d v0.2
Deleted tag 'v0.2' (was df572a3)
$ git tag
v0.1
v0.4

删除远程标签:

git push origin :refs/tags/<tagname>

2.4 推送标签到远程仓库

推送指定标签到远程:

git push origin <tagname>

推送所有本地标签到远程:

git push origin --tags