参考博文:廖雪峰Git教程

1. 创建标签

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

 [root@mini05 zhangtest]# git branch
dev
* master
[root@mini05 zhangtest]# git tag v1.

查看所有标签

 [root@mini05 zhangtest]# git tag
v1.

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

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

 [root@mini05 zhangtest]# git log --pretty=oneline --abbrev-commit
31230a8 feature2
56c6e0c conflict fixed
41de15c ma commit
75b1490 RE new line
068d030 add test.info
c752e64 add info
3b7db1c add aaa.txt
c795cfc del aaa.txt
6d0226b add aaa.txt
b293c46 git tracks changes
53f0f2e understand how stage works
65a58f2 add info
d4fb57e Update README.md
e730676 Initial commit

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

 [root@mini05 zhangtest]# git tag v0. 65a58f2
[root@mini05 zhangtest]# git tag
v0.
v1.

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

 [root@mini05 zhangtest]# git show v0.
commit 65a58f2661c4d73dc0dc9c2e5bff4c350c42c98e
Author: Zhang San <zhanglianghhh@.com>
Date: Mon Sep :: + add info
………………

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

 [root@mini05 zhangtest]# git tag -a v0. -m "version 0.1 released" d4fb57e  # 推荐使用
[root@mini05 zhangtest]# git show v0.
tag v0.
Tagger: Zhang San <zhanglianghhh@.com>
Date: Mon Oct :: + version 0.1 released commit d4fb57e8a892060db07fe862058a1a8477be49aa
Author: 张亮 <zhanglianghhh@.com>
Date: Mon Sep :: + Update README.md
………………

2. 操作标签

如何删除标签

 [root@mini05 zhangtest]# git tag
v0.
v0.
v1.
[root@mini05 zhangtest]# git tag -d v0.
Deleted tag 'v0.1' (was 5757f83)

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

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

 [root@mini05 zhangtest]# git push origin v1.  # 推送指定标签
Total (delta ), reused (delta )
To git@github.com:zhanglianghhh/zhangtest.git
* [new tag] v1. -> v1.

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

 [root@mini05 zhangtest]# git push origin --tags  # 全部推送
Total (delta ), reused (delta )
To git@github.com:zhanglianghhh/zhangtest.git
* [new tag] v0. -> v0.

2.1. 删除远程标签

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

 [root@mini05 zhangtest]# git tag -d v0.
Deleted tag 'v0.9' (was 65a58f2)

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

 [root@mini05 zhangtest]# git push origin :refs/tags/v0.
To git@github.com:zhanglianghhh/zhangtest.git
- [deleted] v0.

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

GitHub-标签管理的更多相关文章

  1. GitHub笔记(四)——标签管理

    五 标签管理 1 打标签.默认master $ git tag v1.0 要对add merge这次提交打标签,它对应的commit id是f52c633,敲入命令: $ git tag v0.9 f ...

  2. Laravel大型项目系列教程(五)之文章和标签管理

    一.前言 本节教程将大概完成文章和标签管理以及标签关联. 二.Let's go 1.文章管理 首先创建管理后台文章列表视图: $ php artisan generate:view admin.art ...

  3. 在GitHub上管理项目

    在GitHub上管理项目 新建repository 本地目录下,在命令行里新建一个代码仓库(repository) 里面只有一个README.md 命令如下: touch README.md git ...

  4. 【学习总结】Git学习-参考廖雪峰老师教程七-标签管理

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

  5. Git 学习(七)标签管理

    Git 学习(七)标签管理 发布版本时,通常会先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本.取出某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库的一个快照. ...

  6. 【转载】在GitHub上管理项目

    在GitHub上管理项目 新建repository 本地目录下,在命令行里新建一个代码仓库(repository) 里面只有一个README.md 命令如下: touch README.md git ...

  7. git学习(7)标签管理

    git学习(7)标签管理 1. 建立标签 在发布版本时候,我们通常会在版本库中打一个标签,这样就唯一确定了打标签的版本,有点像个里程碑,这里会有一个指向某个commit的指针 打标签很简单,首先切换到 ...

  8. 版本控制git之五-标签管理 tags 标签 代码版本 如: v1.0

      版本控制git之五-标签管理 打标签 像其他版本控制系统(VCS)一样,Git 可以给历史中的某一个提交打上标签,以示重要. 比较有代表性的是人们会使用这个功能来标记发布结点(v1.0 等等). ...

  9. rtags——node.js+redis实现的标签管理模块

    引言在我们游览网页时,随处可见标签的身影: 进入个人微博主页,可以看到自己/他人的标签,微博系统会推送与你有相同标签的人 游览博文,大多数博文有标签标记,以说明文章主旨,方便搜索和查阅 网上购物,我们 ...

  10. Git复习(六)之标签管理

    标签管理 发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本.将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库 ...

随机推荐

  1. man statd(rpc.statd中文手册)

    本人译作集合:http://www.cnblogs.com/f-ck-need-u/p/7048359.html rpc.statd程序主要实现NFS锁相关内容,如普通的文件锁(NLM.NSM).文件 ...

  2. 伪指令 ADR 与 LDR 的区别

    指令简介: adr r0, _start 得到的是 _start 的当前执行位置,由 pc+offset 决定 ldr r0, =_start 得到的是绝对的地址,链接时决定 程序示例: ldr r0 ...

  3. AvosCloud的文件存储 Demo

    时间戳:201310142227 废话少说,直接上代码: package com.dannalapp.main; import com.avos.avoscloud.GetCallback; impo ...

  4. JDBC&Hibernate

    当数据库有大量用户来访问要采取什么技术解决 可以采用连接池: 什么是ORM 对象关系映射(Object Relational Mapping 简称ORM)是一种为了解决面向对象与面向关系数据库存在的互 ...

  5. 从零开始学安全(二十三)●用PHP编写留言板

    <?php include("test.php"); ?> <!DOCTYPE html> <html> <head> <me ...

  6. [日常] HTTP的缓存

    web缓存: 1.可以自动保存常见文档副本的HTTP设备,当web请求抵达缓存时,如果存在缓存副本,就直接从本地存储设备返回,而不是去源服务器获取 2.缓存命中和未命中 3.HTTP再验证,检测服务器 ...

  7. Spring Bean的生命周期,《Spring 实战》书中的官方说法

    连着两天的面试 ,都问到了 Spring 的Bean的生命周期,其中还包括 昨晚一波阿里的电话面试.这里找到了Spring 实战中的官方说法.希望各位要面试的小伙伴记住,以后有可能,或者是有时间 去看 ...

  8. Redis 持久化之RDB和AOF

    Redis 持久化之RDB和AOF Redis 有两种持久化方案,RDB (Redis DataBase)和 AOF (Append Only File).如果你想快速了解和使用RDB和AOF,可以直 ...

  9. 开源前端脚本错误监控及跟踪解决项目-BadJS 试用

    BadJS 是 一个web 前端脚本错误监控及跟踪项目.此项目为鹅厂 imweb(qq群:179045421) 团队的开源项目.此项目支持单机,集群,docker.存储支持mongodb等. 官网文档 ...

  10. js 控制超出字数显示省略号

    //多余显示省略号 function wordlimit(cname, wordlength) { var cname = document.getElementsByClassName(cname) ...