git学习(7)标签管理

1. 建立标签

在发布版本时候,我们通常会在版本库中打一个标签,这样就唯一确定了打标签的版本,有点像个里程碑,这里会有一个指向某个commit的指针

打标签很简单,首先切换到要打标签的分支上,然后使用命令git tag <name>

$ git branch
* dev
master $ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'. $ git tag v0.9
fengxideMac:gitstudy fengxi$ git tag
v0.9

如果想打到指定提交commit id上怎么办呢,首先用git log找到历史提交的commit id,然后打上就可以了,语法是git tag <name> <commit id>

$ git log --pretty=oneline --abbrev-commit
9bf414a Merge branch 'currentBranch'
f13d37a a new function finished
76559b7 fix the readme ok
832fb4f fix readme bug
2a4d4ea confict fixed
9f00674 & simple
... $ git tag v0.8 76559b7
$ git tag
v0.8
v0.9

标签是按字母进行排序的,而不是按时间列出,所以name需要确认正确,查看某一tag的详细信息可以通过git show <tag name>

2. 删除本地和远程标签

本地建立标签后如果想推送到远程标签,可以使用git push origin <tagname>

$ git push origin v0.8
Total 0 (delta 0), reused 0 (delta 0)
To git@github.com:keithmorning/gitstudy.git
* [new tag] v0.8 -> v0.8

如果想把本地全部没有推送的标签都推送到远程可以使用 git push origin --tags

$ git tag
v0.2
v0.8
v0.9 $ git push origin --tags
Total 0 (delta 0), reused 0 (delta 0)
To git@github.com:keithmorning/gitstudy.git
* [new tag] v0.2 -> v0.2
* [new tag] v0.9 -> v0.9

删除本地标签可以用git tag -d <tag name>

$ git tag -d v0.2
Deleted tag 'v0.2' (was 57a2755)

远程的标签删除相对复杂一些可以用git push origin :refs/tags/<tagName>

$ git push origin :refs/tags/v0.2
To git@github.com:keithmorning/gitstudy.git
- [deleted] v0.2

删除后可以到gitHub的tags查看确认

git学习(7)标签管理的更多相关文章

  1. git 学习笔记 ---标签管理

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

  2. Git学习(一) 版本号管理工具

    Git 是一个分布式版本号控制工具.它的作者 Linus Torvalds 是这样给我们介绍 Git  -- The stupid content tracker(傻瓜式的内容跟踪器) 1. Git ...

  3. Git教程之标签管理

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

  4. git学习——打标签

    打标签 就像某人发布某个软件版本(v1.0)后,一般会给一个标签. Git 使用的标签有两种类型:轻量级的(lightweight)和含附注的(annotated).轻量级标签就像是个不会变化的分支, ...

  5. git学习笔记 ---分支管理

    分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并 ...

  6. 四、git学习之——分支管理、解决冲突

    分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并 ...

  7. Git学习笔记三--管理修改、撤销修改、删除文件

    1.管理修改 什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改. 为什么说Git ...

  8. git学习笔记 --分支管理策略

    通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的comm ...

  9. git学习记录--标签随笔

    创建标签: 命令git tag <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id: git tag -a <tagname> -m "b ...

随机推荐

  1. python3.7+opencv3.4.1

    https://solarianprogrammer.com/2016/09/17/install-opencv-3-with-python-3-on-windows/ https://www.cnb ...

  2. hdoj 4526 威威猫系列故事——拼车记

    威威猫系列故事——拼车记 Time Limit: 500/200 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total ...

  3. 03、同事分享课程的笔记 —《Android应用低功耗设计》

    这是安卓组的同事一个月前分享的一节课程,听课时写了一下笔记,之前是写在本子上的,感觉内容挺不错 的,就保存在博客了吧,方便回看. 他曾经在就职于英特尔公司,是与芯片设计相关的,这课程标题虽然是与安卓相 ...

  4. sass 的使用

    普通变量 ? 1 $fontSize:12px; 默认变量 ? 1 $fontSize:12px; !default; 变量覆盖:只需要在默认变量之前重新声明下变量即可 ? 1 2 $fontSize ...

  5. tomcat开启https协议

    1.在tomcat的conf/server.xml 中配置 <Connector port="443" protocol="org.apache.coyote.ht ...

  6. 一款基于jQuery的热点新闻Tab选项卡插件

    今天要分享的jQuery焦点图插件非常适合展示热点新闻,之前我们分享过好多基于jQuery的焦点图插件,效果都还很不错.它可以在图片上方展示文字标题,并且焦点图的切换按钮时tab风格的,图片切换也十分 ...

  7. Django 1 创建项目

    shell中输入 django-admin.py startproject mysite. 然后进入mysite目录,输入python manage.py runserver 0.0.0.0:8000 ...

  8. svn:ignore 的用处

    用svn管理代码,一直以来都受到一件不爽事情的困扰: 1)有些文件或文件夹不想在commit的时候看到,虽然他们是non-versioned,比如*.bak.*.class,*.scc(vss文件), ...

  9. Jquery右下角消息提示框

    找了好久,终于找到一个不错的提示框jquery,免费给大家一起用下吧(可是花了我很多积分哦),顺便重写了一下样式,原来的样式真的不敢恭维啊... 下载地址:http://files.cnblogs.c ...

  10. 模板题 + KMP + 求最小循环节 --- HDU 3746 Cyclic Nacklace

    Cyclic Nacklace Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=3746 Mean: 给你一个字符串,让你在后面加尽 ...