reference to : http://www.cnblogs.com/ShaYeBlog/p/5576601.html

我们常常在代码封板时,使用git 创建一个tag ,这样一个不可修改的历史代码版本就像被我们封存起来一样,不论是运维发布拉取,或者以后的代码版本管理,都是十分方便的.

首先我们了解下 git 的 tag 功能:

git 下打标签其实有2种情况

(1): 轻量级的

它其实是一个独立的分支,或者说是一个不可变的分支.指向特定提交对象的引用.

(2):带附注的

实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证,电子邮件地址和日期,一般我们都建议使用含附注型的标签,以便保留相关信息.

可以依据自己的情况选择TAG类型。

以第二种为例子:

创建标签:

xxx@moke:~/code/demo$git tag -a V1.2 -m 'WebSite version 1.2'

上面的命令我们成功创建了本地一个版本 V1.2 ,并且添加了附注信息 'WebSite version 1.2'

查看标签:

xxx@moke:~/code/demo$ git tag
V1.0
V1.1
V1.2

我们看到本地有3个标签,最下面的 V1.2 就是刚才提交的,但是没有显示出来我们附注信息.

要显示附注信息,我们需要用 show 指令来查看.

xxxx@moke:~/code/demo$ git show V1.2
tag V1.2
Tagger: xxxx <xxxx@gmail.com>
Date: Wed Jul 21 18:42:35 2015 +0800 WebSite version 1.2 commit 853cecc248756d0189d2a328dc22fa6781a65265
Merge: 1f23b2b 00cfb5b
Author: xxxxx <xxxx@gmail.com>
Date: Wed Jul 21 18:38:36 2015 +0800 Merge branch 'master' into test

上面显示出来了 V1.2 标签的所有提交信息.

但是目前这个标签仅仅是提交到了本地git仓库.如何同步到远程代码库

tag 远程推送:

xxx@moke:~/code/demo$git push origin --tags

这样我们就把本地版本推送到了远程代码仓库.

如果刚刚同步上去,你缺发现一个致命bug ,需要重新打版本,现在还为时不晚.

删除标签:

xxx@moke:~/code/demo$git tag -d V1.2

到这一步我们只是删除了本地 V1.2的版本,可是线上V1.2的版本还是存在,如何办?

这时我们可以推送的空的同名版本到线下,达到删除线上版本的目标:

xxx@moke:~/code/demo$git push origin :refs/tags/V1.2

这时本地和远程的 V1.2 版本已经被我们移除掉.

如何获取远程版本:

xxx@moke:~/code/demo$git fetch origin tag V1.2

这样我们可以精准拉取指定的某一个版本.适用于运维同学部署指定版本.

最后验证远程服务器TAG :

git ls-remote -h -t git@git.com:xxx/xxx.git

git@git.com:xxx/xxx.git 可以省略。

[Android Pro] git 打标签、推送tag到托管服务器、验证是否成功的更多相关文章

  1. git 打标签并推送tag到托管服务器

    我们常常在代码封板时,使用git 创建一个tag ,这样一个不可修改的历史代码版本就像被我们封存起来一样,不论是运维发布拉取,或者以后的代码版本管理,都是十分方便的. 首先我们了解下 git 的 ta ...

  2. git推送tag到远端服务器

    git推送tag到远端服务器 默认情况下,git push并不会把tag标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库.1.push单个tag,命令格式为:git push origi ...

  3. git 创建标签推送远程分支

    目录 git 创建标签推送远程分支 查看tag 创建tag 推送标签到远程仓库 删除tag git 创建标签推送远程分支 标签概念: tag, 对于迭代频繁的项目. 每一个标签可以理解为一个版本. 创 ...

  4. Android 基于Netty的消息推送方案之对象的传递(四)

    在上一篇文章中<Android 基于Netty的消息推送方案之字符串的接收和发送(三)>我们介绍了Netty的字符串传递,我们知道了Netty的消息传递都是基于流,通过ChannelBuf ...

  5. Android 基于Netty的消息推送方案之字符串的接收和发送(三)

    在上一篇文章中<Android 基于Netty的消息推送方案之概念和工作原理(二)> ,我们介绍过一些关于Netty的概念和工作原理的内容,今天我们先来介绍一个叫做ChannelBuffe ...

  6. Android 基于Netty的消息推送方案之概念和工作原理(二)

    上一篇文章中我讲述了关于消息推送的方案以及一个基于Netty实现的一个简单的Hello World,为了更好的理解Hello World中的代码,今天我来讲解一下关于Netty中一些概念和工作原理的内 ...

  7. Android 基于Netty的消息推送方案之Hello World(一)

    消息推送方案(轮询.长连接) 轮询 轮询:比较简单的,最容易理解和实现的就是客户端去服务器上拉信息,信息的及时性要求越高则拉信息的频率越高.客户端拉信息的触发可以是一些事件,也可以是一个定时器,不断地 ...

  8. Git撤回已经推送(push)至远程仓库提交(commit)的版本

    背景 所以,经常会遇到已经提交远程仓库,但是又不是我想要的版本,要撤下来. 回退版本一般使用git reset,又分为: # 不删除工作空间改动代码,撤销commit,不撤销git add . git ...

  9. 使用 git 将代码推送到多个仓库

    使用 git 将代码推送到多个仓库 起因     起初,在 GitHub 建了一个仓库,200+ 的 commits .后来(终于在眼泪中明白...误

随机推荐

  1. 洛谷P1634 禽兽的传染病 题解

    题目传送门 最近都在刷红色的水题... 这道题因为是不断地传染,所以直接求幂次方就好啦... 但是一测样例WA了... 原来x初始需要加1... 提交评测WA了... 原来要开long long .. ...

  2. 面试题32:从1到n整数中1出现的次数

    这是一道广为流传的google面试题.用最直观的方法求解并不是很难,但遗憾的是效率不是很高:而要得出一个效率较高的算法,需要比较强的分析能力,并不是件很容易的事情.当然,google的面试题中简单的也 ...

  3. loadrunner中并发数与迭代的区别

    你的理解的虚拟用户应该是 迭代次数 ,录制脚本时只会有1个虚拟用户,1个虚拟用户可以有多次 迭代,也就是 重复执行 Action里面的内容,在场景设置的时候,如果你说的10时在runtime-sett ...

  4. UVA 1400."Ray, Pass me the dishes!" -分治+线段树区间合并(常规操作+维护端点)并输出最优的区间的左右端点-(洛谷 小白逛公园 升级版)

    "Ray, Pass me the dishes!" UVA - 1400 题意就是线段树区间子段最大和,线段树区间合并,但是这道题还要求输出最大和的子段的左右端点.要求字典序最小 ...

  5. HDU 6186 CS Course

    保存前缀后缀. 保存一下前缀和后缀,去掉第$i$个位置,就是$L[i-1]$和$R[i+1]$进行运算. #include<bits/stdc++.h> using namespace s ...

  6. Android之 解析XML文件(1)—— Pull解析

    (以下文章基本照抄<第一行代码>) 解析XML文件有很多方法,这里主要讲Pull解析和SAX解析.这篇文章主要是讲Pull解析. 一.Pull解析参考代码 先上代码: private vo ...

  7. Android中xml tool属性

    http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0309/2567.html 我是搬运工.. 总结而言tool属性就是为了在IDE ...

  8. 简单模仿拉钩网上的“hot_info”

    目录 前言 技术 判断进入div的方向 动画 绑定事件 css html 还需改进的地方 前言 突然想起来之前看到拉钩网上的hot_info(不知道该叫什么,但是拉钩网上这个div的class是hot ...

  9. 【BZOJ 3659】 3659: Which Dreamed It (Matrix-Tree&BEST theorem )

    3659: Which Dreamed It Time Limit: 20 Sec  Memory Limit: 1024 MBSubmit: 134  Solved: 41 Description ...

  10. java中代码块的认知

    在以往面试题中,出现过很多次关于代码块执行顺序的题目,目前可算是搞清楚执行顺序了.看以下代码: package com.itcast.code; public class BlockTest { st ...