前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GitHub-标签管理

GitHub-标签管理

作者头像
踏歌行
发布2020-10-15 11:45:35
4680
发布2020-10-15 11:45:35
举报
文章被收录于专栏:踏歌行的专栏踏歌行的专栏

参考博文:廖雪峰Git教程

1. 创建标签

切换到需要打标签的分支上,之后打标签

代码语言:javascript
复制
1 [root@mini05 zhangtest]# git branch
2   dev
3 * master
4 [root@mini05 zhangtest]# git tag v1.0

查看所有标签

代码语言:javascript
复制
1 [root@mini05 zhangtest]# git tag 
2 v1.0

默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,比如,现在已经是周五了,但应该在周一打的标签没有打,怎么办?

方法是找到历史提交的commit id,然后打上就可以了:

代码语言:javascript
复制
 1 [root@mini05 zhangtest]# git log --pretty=oneline --abbrev-commit
 2 31230a8 feature2
 3 56c6e0c conflict fixed
 4 41de15c ma commit
 5 75b1490 RE new line
 6 068d030 add test.info
 7 c752e64 add info
 8 3b7db1c add aaa.txt
 9 c795cfc del aaa.txt
10 6d0226b add aaa.txt
11 b293c46 git tracks changes
12 53f0f2e understand how stage works
13 65a58f2 add info
14 d4fb57e Update README.md
15 e730676 Initial commit

比方说要对add info这次提交打标签,它对应的commit id是65a58f2,敲入命令:

代码语言:javascript
复制
1 [root@mini05 zhangtest]# git tag v0.9 65a58f2
2 [root@mini05 zhangtest]# git tag 
3 v0.9
4 v1.0

注意,标签不是按时间顺序列出,而是按字母排序的。可以用git show <tagname>查看标签信息:

代码语言:javascript
复制
1 [root@mini05 zhangtest]# git show v0.9
2 commit 65a58f2661c4d73dc0dc9c2e5bff4c350c42c98e
3 Author: Zhang San <zhanglianghhh@163.com>
4 Date:   Mon Sep 17 23:31:25 2018 +0800
5 
6     add info
7 ………………

还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:

代码语言:javascript
复制
 1 [root@mini05 zhangtest]# git tag -a v0.1 -m "version 0.1 released" d4fb57e  # 推荐使用
 2 [root@mini05 zhangtest]# git show v0.1
 3 tag v0.1
 4 Tagger: Zhang San <zhanglianghhh@163.com>
 5 Date:   Mon Oct 1 18:22:14 2018 +0800
 6 
 7 version 0.1 released
 8 
 9 commit d4fb57e8a892060db07fe862058a1a8477be49aa
10 Author: 张亮 <zhanglianghhh@163.com>
11 Date:   Mon Sep 17 23:10:57 2018 +0800
12 
13     Update README.md
14 ………………

2. 操作标签

如何删除标签

代码语言:javascript
复制
1 [root@mini05 zhangtest]# git tag 
2 v0.1
3 v0.9
4 v1.0
5 [root@mini05 zhangtest]# git tag -d v0.1
6 Deleted tag 'v0.1' (was 5757f83)

因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。

如果要推送某个标签到远程,使用命令git push origin <tagname>

代码语言:javascript
复制
1 [root@mini05 zhangtest]# git push origin v1.0  # 推送指定标签
2 Total 13 (delta 9), reused 0 (delta 0)
3 To git@github.com:zhanglianghhh/zhangtest.git
4  * [new tag]         v1.0 -> v1.0

或者,一次性推送全部尚未推送到远程的本地标签:

代码语言:javascript
复制
1 [root@mini05 zhangtest]# git push origin --tags  # 全部推送
2 Total 0 (delta 0), reused 0 (delta 0)
3 To git@github.com:zhanglianghhh/zhangtest.git
4  * [new tag]         v0.9 -> v0.9

2.1. 删除远程标签

如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:

代码语言:javascript
复制
1 [root@mini05 zhangtest]# git tag -d v0.9
2 Deleted tag 'v0.9' (was 65a58f2)

然后,从远程删除。删除命令也是push,但是格式如下:

代码语言:javascript
复制
1 [root@mini05 zhangtest]# git push origin :refs/tags/v0.9
2 To git@github.com:zhanglianghhh/zhangtest.git
3  - [deleted]         v0.9

  要看看是否真的从远程库删除了标签,可以登陆GitHub查看。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 创建标签
  • 2. 操作标签
    • 2.1. 删除远程标签
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档