1.Git标签管理

当版本仓库内的数据有个大的改善或者功能更新,我们经常会打一个类似于软件版本号的标签,这样通过标签就可以将版本库中的某个历史版本给记录下来,方便我们随时将特定历史时期的数据取出来用,另外打标签其实只是像某个历史版本做了一个指针,所以一般都是瞬间完成的。

1.1创建本地标签

创建带有说明的标签,-a指定标签名字,-m指定说明文字

  1. [root@git-node1 demo]# git tag -a v1.0.0 -m "version 1.0.0 release"

1.2查看本地标签

1.查看当前本地所有标签

  1. [root@git-node1 demo]# git tag -l v*
  2. v1.0.0
  3. v1.0.1

2.查看当前1.0版本的详细信息

  1. [root@git-node1 demo]# git show v1.0.0
  2. tag v1.0.0
  3. Tagger: xuliangwei <xuliangwei@foxmail.com>
  4. Date: Sun Nov 6 03:12:44 2016 +0800
  5. version 1.0.0 release
  6. commit 95734131860ef7c9078b8a208ff6437d0952380b
  7. Author: xuliangwei <xuliangwei@foxmail.com>
  8. Date: Sun Nov 6 02:15:35 2016 +0800
  9. chnged name index.html->index.php
  10. diff --git a/index.html b/index.html
  11. deleted file mode 100644
  12. index e69de29..0000000
  13. diff --git a/index.php b/index.php
  14. new file mode 100644
  15. index 0000000..e69de29

1.3删除本地标签

我们为同一个提交版本设置了两次标签,删除重复性的标签

  1. [root@git-node1 demo]# git tag -d v1.0.1
  2. 已删除 tag 'v1.0.1'(曾为 3c13e43)
  3. [root@git-node1 demo]# git tag -l v*
  4. v1.0.0

1.4推送本地标签

如上操作都是基于打标签以及删除标签,下面我们来学习下打完标签后如何推送至远端服务器 
也可以使用git push origin –-tags推送所有本地建立的tag包

  1. [root@git-node1 demo]# git push origin v1.0.0
  2. Counting objects: 1, done.
  3. Writing objects: 100% (1/1), 167 bytes | 0 bytes/s, done.
  4. Total 1 (delta 0), reused 0 (delta 0)
  5. To git@git-node1:root/git_demo.git
  6. * [new tag] v1.0.0 -> v1.0.0

1.5获取远程标签

使用git pull获取最新tag包,可以使用git fetch强制获取

  1. [root@git-node1 git_demo]# git pull origin v1.0.0s
  2. remote: Counting objects: 1, done.
  3. remote: Total 1 (delta 0), reused 0 (delta 0)
  4. Unpacking objects: 100% (1/1), done.
  5. 来自 git-node1:root/git_demo
  6. * [新tag] v1.0.0 -> v1.0.0
  7. Already up-to-date.

1.6删除远程标签

通过push delete参数来删除远程标签

  1. [root@git-node1 git_demo]# git push origin --delete tag v1.0.0
  2. To git@git-node1:root/git_demo.git
  3. - [deleted] v1.0.0

也可以先删除本地tag标签,然后推送空标签至于远程进行删除

  1. [root@git-node1 git_demo]# git tag v1.0.1
  2. [root@git-node1 git_demo]# git push origin v1.0.1
  3. Total 0 (delta 0), reused 0 (delta 0)
  4. To git@git-node1:root/git_demo.git
  5. * [new tag] v1.0.1 -> v1.0.1
  6. //删除本地tag
  7. [root@git-node1 git_demo]# git tag -d v1.0.1
  8. 已删除 tag 'v1.0.1'(曾为 9573413)
  9. //推送空tag至远程进行删除
  10. [root@git-node1 git_demo]# git push origin :refs/tags/v1.0.1
  11. To git@git-node1:root/git_demo.git
  12. - [deleted] v1.0.1

1.7Git标签小结

    git版本号规则 
    内部版本 B1.1.0 
    外部版本 V1.1.0 
    补丁版本 P1.1.0

    1. 命令git tag –a <tagname> -m "message" //在当前commit状态新建一个tag
    2. 命令git tag -l <tagname> //列出相对应版本号tag
    3. 命令git push origin <tagname> //推送一个本地标签
    4. 命令git push origin --tags //推送全部未推送过的本地标签
    5. 命令git tag -d <tagname> //删除一个本地标签
    6. 命令git push origin --delete tag <tagname> //删除一个远程标签
    7. 命令git push origin :refs/tags/<tagname> //删除一个远程标签

Git系列六之标签管理的更多相关文章

  1. Git之(六)标签管理

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

  2. Git学习总结(标签管理)

    在Git中打标签非常简单,首先,切换到需要打标签的分支上: 然后,敲命令git tag <name>就可以打一个新标签: $ git tag v1. 可以用命令git tag查看所有标签: ...

  3. Git系列五之分支管理

    1.Git分支管理 分支即是平行空间,假设你在为某个手机系统研发拍照功能,代码已经完成了80%,但如果将这不完整的代码直接提交到git仓库中,又有可能影响到其他人的工作,此时我们便可以在该软件的项目之 ...

  4. Git系列一之安装管理

    1.Git安装部署 Git是分布式的版本控制系统,我们只要有了一个原始Git版本仓库,就可以让其他主机克隆走这个原始版本仓库,从而使得一个Git版本仓库可以被同时分布到不同的主机之上,并且每台主机的版 ...

  5. Git:六、分支管理(指针操作)

    1.基本操作 1)创建分支 git branch <name> 2)切换分支 git checkout <name> 1)&2)创建并切换分支 git checkout ...

  6. 【Git】六、分支管理&冲突解决

    上一节讲了如何和远端的仓库协同工作,这一节介绍一下分支 ---------------------------- 提要 //创建一个分支dev $ git branch dev //切换到dev分支 ...

  7. kafka系列六、java管理kafka Topic

    package com.example.demo.topic; import kafka.admin.AdminUtils; import kafka.admin.RackAwareMode; imp ...

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

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

  9. git的使用学习(六)git的标签管理

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

随机推荐

  1. .vue,跟小程序文件在sublime里面怎么实现代码格式化

    .vue文件跟小程序的.wxml,.wxss用sublime的HTML/CSS/JS prettify插件也可以实现格式化代码的效果 首先你在sublime要已经安装好了HTML/CSS/JS pre ...

  2. android studio偏好设置

    1.主题设置,可以选择白色主题及黑色主题 2.代码字体大小 3.生成新的主题 主题命名 4.加入代码时,自动引用库 5.合作菜单生成菜码 6.命名空间设置 字段设置为大写,静态字段设置为小写 SDK设 ...

  3. PHP实现选择排序

    选择排序: 选择排序(Selection sort)是一种简单直观的排序算法.它的工作原理如下.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小( ...

  4. 转:libFuzzer Tutorial(libFuzzer教程)

    转:https://github.com/google/fuzzer-test-suite/blob/master/tutorial/libFuzzerTutorial.md 本文在Ubuntu16下 ...

  5. 203. Remove Linked List Elements【Easy】【未排序链表删除其中的给定值】

    Remove all elements from a linked list of integers that have value val. Example: Input: 1->2-> ...

  6. hdu 5592 ZYB's Premutation (权值线段树)

    最近在线段树的世界里遨游,什么都能用线段树做,这不又一道权值线段树了么. ZYB's Premutation Time Limit: 2000/1000 MS (Java/Others)    Mem ...

  7. 【推导】【找规律】【二分】hdu6154 CaoHaha's staff

    题意:网格图.给你一个格点多边形的面积,问你最少用多少条边(可以是单位线段或单位对角线),围出这么大的图形. 如果我们得到了用n条边围出的图形的最大面积f(n),那么二分一下就是答案. n为偶数时,显 ...

  8. 【后缀自动机】hihocoder1441 后缀自动机一·基本概念

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi:今天我们来学习一个强大的字符串处理工具:后缀自动机(Suffix Automaton,简称SAM).对于一个字符串 ...

  9. python3-开发进阶-RESTful 软件架构风格

    一. 什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角 ...

  10. 初识Tomcat系统架构

    俗话说,站在巨人的肩膀上看世界,一般学习的时候也是先总览一下整体,然后逐个部分个个击破,最后形成思路,了解具体细节,Tomcat的结构很复杂,但是 Tomcat 非常的模块化,找到了 Tomcat最核 ...