ThinkSSL🔒 一键申购 5分钟快速签发 30天无理由退款 购买更放心 广告
[TOC] ## 概述 对某一时间点上的版本打上标签。如发布某个软件版本(比如 v1.0 等等)的时候 ## 语法 ``` git tag [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <file>] <tagname> [<commit> | <object>] git tag -d <tagname>… git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>] [--points-at <object>] [--column[=<options>] | --no-column] [--create-reflog] [--sort=<key>] [--format=<format>] [--[no-]merged [<commit>]] [<pattern>…] git tag -v [--format=<format>] <tagname>…//原文出自【易百教程】,商业转载请联系作者获得授权,非商业请保留原文链接:https://www.yiibai.com/git/git_tag.html ``` ## 场景 ### 创建注释标签 ``` //方式一 > git tag v1.v // 方式二 > git tag -a v1.4 -m 'my version 1.4' ``` - -a 指定一个带注释类型的tag - -m 添加一个带注释的tag ### 创建后期加注标签 ``` git tag -a v1.2 9fceb02 ``` ### 创建私钥部署标签 ``` > git tag -s v1.5 -m "my signed 1.5 tag" ``` ### 列出已有的标签 ``` > git tag v1.0 v1.2 // 使用通配符 > git tag -l v1.* ``` - 显示的标签按字母顺序排列 ### 显示标签详情 ``` > git show v1.4 tag v1.4 Tagger: Scott Chacon <schacon@gee-mail.com> Date: Mon Feb 9 14:45:11 2009 -0800 // 此处为注释信息,不带 -a -m 将不会显示 my version 1.4 commit 15027957951b64cf874c3557a0f3547bd83b3ff6 Merge: 4a447f7... a6b4c97... Author: Scott Chacon <schacon@gee-mail.com> Date: Sun Feb 8 19:02:46 2009 -0800 Merge branch 'experiment' ``` - 使用 -a -m 的表现会显示注释信息 ### 删除标签 ``` > git tag -d v1.0 ``` ### 推送到远程服务器 ``` // 推送指定标签 > git push origin v1.5 // 推送所有标签 > git push origin --tags ``` - --tags参数表示提交所有tag至服务器端,普通的git push origin master操作不会推送标签到服务器端 ### 拉取远程服务的 tag ``` > git pull origin --tags // 拉取特定的版本 > git pull origin :remotes/origin/v2.1 ``` ### 对以前的commit 打标签 ``` > git tag -a v1.2 <commit_id> ```