git 标签管理

标签管理

tag git中的标签 主要作用就是给某条修改记录取一个让人容易记住的有意义的名字,它跟某个commit绑在一起。

创建标签

给某次修改打一个标签该如何操作呢?下面的例子演示了如何给当前版本,打标签

$ git  checkout  master
Switched to branch 'master'
Your branch is up to date with 'rigion/master'.
$git tag v1.0
$ git  tag
v1.0
bogon:git zhengbing$ git  log  --pretty=oneline
70edc45fc6118b1c9fbe1027b1160e0120468938 (HEAD -> master, tag: v1.0, rigion/master) fix  bug 1024
fc0536e853bc505d45375746a3df4d5fd4e2cfad delete no
4464110564988026594dd4263d707c10577074da Merge branch 'zhengbing_dev'
a2fb2cda5f71231c9c0dd3eea6c9d6b673121529 delete readme2.txt
e68db6ce2192645403c90a311c25cee52fcde1e7 resolved  fixed
c0264af950e75a512dc9895c9b3806c9ed4438ed & simple
db758c4fd8de9f31e87bcb81787f7fd20db977b5 AMD simple
f8ba521f52ca2b4f6510ec3a35d7929fcde8d937 add file  dev.txt
801d6f066eecf1270920a361659dd61db3257457 add mutiple  files
ceebf2660aa2eea2f6c4e96a78dd5be08f728f6c add file test.txt
65d43dc687b35173b2d312bf7b71eb7593bc88ca append of files
400bdba9be3de24fb6077ef573564b6998af5cc9 tracks files
e17c4d4d2d8d2893009f3e56e7711657055ef779 understand stage
7dc80a9b6475908835ab78562d7db68fda83757c append  GPL
56fb09bdfefc467e9b2f5aba2060c215c19f68c9 update  readme.tct
9235ffdcced6c829b3f0fb991d5548c14fe49dc7 add  readme.txt

那么如果要给之前的版本打标签呢?这应该是很平常的需求吧?git tag v0.9 <记录号>a2fb2cda

$ git tag v0.9 a2fb2cda
$ git  log --pretty=oneline
70edc45fc6118b1c9fbe1027b1160e0120468938 (HEAD -> master, tag: v1.0, rigion/master) fix  bug 1024
fc0536e853bc505d45375746a3df4d5fd4e2cfad delete no
4464110564988026594dd4263d707c10577074da Merge branch 'zhengbing_dev'
a2fb2cda5f71231c9c0dd3eea6c9d6b673121529 (tag: v0.9) delete readme2.txt
e68db6ce2192645403c90a311c25cee52fcde1e7 resolved  fixed
c0264af950e75a512dc9895c9b3806c9ed4438ed & simple
db758c4fd8de9f31e87bcb81787f7fd20db977b5 AMD simple
f8ba521f52ca2b4f6510ec3a35d7929fcde8d937 add file  dev.txt
801d6f066eecf1270920a361659dd61db3257457 add mutiple  files
ceebf2660aa2eea2f6c4e96a78dd5be08f728f6c add file test.txt
65d43dc687b35173b2d312bf7b71eb7593bc88ca append of files
400bdba9be3de24fb6077ef573564b6998af5cc9 tracks files
e17c4d4d2d8d2893009f3e56e7711657055ef779 understand stage
7dc80a9b6475908835ab78562d7db68fda83757c append  GPL
56fb09bdfefc467e9b2f5aba2060c215c19f68c9 update  readme.tct
9235ffdcced6c829b3f0fb991d5548c14fe49dc7 add  readme.txt

使用git tag 后面不跟参数的时候,可以查看当前版本库的标签

$ git tag
v0.9
v1.0

也可以使用 git show <tagname> 查看所打的标签的详细信息

$ git show  v0.9
commit a2fb2cda5f71231c9c0dd3eea6c9d6b673121529 (tag: v0.9)
Author: zhengbing <mydreambing@126.com>
Date:   Sat Oct 19 17:42:46 2019 +0800

    delete readme2.txt

diff --git a/readme2.txt b/readme2.txt
deleted file mode 100644
index e69de29..0000000

和 git commit 一样 我们也可以给标签添加注释 同样使用git tag 命令 但是要加上参数了 -a 指定标签名 -m 添加注释

使用git show v0.8 可以看到我们给标签写的注释

$ git tag -a v0.8 -m 'finished september dev' f8ba521f5
$ git  tag
v0.8
v0.9
v1.0
$ git  show  v0.8
tag v0.8
Tagger: zhengbing <mydreambing@126.com>
Date:   Sun Oct 20 23:26:00 2019 +0800

finished september dev

commit f8ba521f52ca2b4f6510ec3a35d7929fcde8d937 (tag: v0.8)
Author: zhengbing <mydreambing@126.com>
Date:   Thu Oct 17 01:02:23 2019 +0800

    add file  dev.txt

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

操作标签

ok,如果打错了标签呢?我们可能要删除标签。需要用到 git tag -d <tagname>

$ git tag -d v0.9
Deleted tag 'v0.9' (was a2fb2cd)

如果打的标签没有问题的话,那么我么就可以把本地的标签push到远程仓库进行管理

$ git push origin v1.0
Total 0 (delta 0), reused 0 (delta 0)
To github.com:zhengbinger/learngit.git
 * [new tag]         v1.0 -> v1.0

那么,如果远程的标签打错了呢?怎么删除呢?

先删除本地标签

$ git  tag  -d v1.0

再删除远程标签,删除远程标签会比较复杂一点 git push origin :refs/tags/v1.0

$ git push origin :refs/tags/v1.0
To github.com:zhengbinger/learngit.git
 - [deleted]         v1.0

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容

  • 在发布版本时,我们通常先在版本库打一个标签(tag),这样,就唯一确定了打标签时刻的版本.将来无论什么时候,取某个...
    程序员七哥阅读 990评论 2 3
  • 小结1 命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;...
    Wei_Lai阅读 275评论 0 0
  • 标签说明 标签用于标记某一提交点,唯一绑定一个固定的commitId,相当于为这次提交记录指定一个别名,方便提取文...
    若兮缘阅读 2,423评论 0 8
  • 发布一个版本时,我们通常先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的...
    wmsj100阅读 226评论 0 0
  • 标签可以让我们更快的找到指定的版本 创建标签 // 切换到需要打标签的分支上$ git tag v1.0 查看所有...
    f51a4fdf4335阅读 229评论 0 0