浅析Git tag介绍、操作及与branch的区别

一、git tag 操作

  在Git中,标签(tag)是一个特别的分支,指向某个提交(commit),它通常用于发布版本。

  Git 的标签分为两种类型:轻量标签和附注标签。

 1、轻量标签(lightweight tag)仅仅是一个指向特定提交的引用,它不会存储任何额外的信息。创建轻量标签的命令如下:git tag {标签名} {提交ID}

  例如,创建一个指向最新提交的轻量标签:

git tag v1.0.0

2、附注标签(annotated tag)是存储在Git数据库中的一个完整对象,它有一个标签名,标签信息,标签签名等信息。创建附注标签的命令如下:git tag -a {标签名} -m "{标签信息}" {提交ID}

  例如,创建一个指向最新提交的附注标签:

git tag -a v1.0.0 -m "Release version 1.0.0" HEAD

3、查看标签

  查看当前项目中的所有标签,可以使用以下命令:

git tag

  如果想查看某个具体标签的信息,可以使用以下命令:

git show {标签名}

  说明 :
  git tag : 直接列出所有的标签
  git tag -l xxxx : 可以根据 xxxx 进行标签的筛选

4、推送标签

  默认情况下,git push 命令不会将标签推送到远程服务器,需要使用以下命令将标签推送到远程服务器:git push origin {标签名}

  如果要一次性推送所有本地标签,可以使用以下命令:

git push origin --tags

5、删除标签

  删除本地标签的命令如下:git tag -d {标签名}

  删除远程标签的命令如下:git push origin :refs/tags/{标签名} 或者  git push origin --delete {标签名}

6、检出标签

  检出标签的理解 : 我想在这个标签的基础上进行其他的开发或操作。
  检出标签的操作实质 : 就是以标签指定的版本为基础版本,新建一个分支,继续其他的操作。因此 ,就是新建分支的操作了。

git checkout -b 分支名称 标签名称

二、git打tag操作步骤

  在Git中打一个tag的操作步骤如下:

1、查看最新的提交ID,可以使用以下命令:

git log -1 --pretty=format:"%H"

2、执行以下命令,创建一个轻量标签:git tag {标签名} {最新的提交ID}

  或者执行以下命令,创建一个附注标签:git tag -a {标签名} -m "{标签信息}" {最新的提交ID}

  其中,{标签名} 是标签的名称,{标签信息} 是标签的描述,{最新的提交ID} 是最新的提交的ID

3、将标签推送到远程服务器,可以使用以下命令:git push origin {标签名}

  如果要一次性推送所有本地标签,可以使用以下命令:git push origin --tags

  注意:创建标签时,如果不指定提交ID,默认会使用当前所在分支的最新提交作为标签指向的提交

三、Git中的标签与分支

  在Git中,标签(tag)和分支(branch)都是用于标记某个特定的提交(commit),它们之间的区别如下:

1、Branch(分支):是指向 Git 代码库中某个提交对象的指针。每次提交代码时,branch 指针都会自动向前移动。你可以在一个分支上进行开发和修改,并在需要时将其合并到其他分支或主分支上。Git 中有一个特殊的分支叫做 master,它通常用来表示代码库的主干。

2、Tag(标签):是一个具有描述性名称的指向 Git 代码库中某个提交对象的静态指针。Tag 可以被用来标记代码库中的重要的版本、发布、里程碑等。

3、与 branch 不同,tag 并不会随着代码的提交而向前移动,它指向的是一个特定的提交,也就是说它是一个固定的指针。因此,tag 可以被用来保留代码库中某个特定的版本状态,而不会受到后续代码变更的影响。

4、总体来说,branch 是用于管理代码库中不同分支的工具,而 tag 则是用于标记代码库中特定版本的工具。Branch 通常用于开发、调试和合并代码,而 tag 则用于发布和版本控制。

  在Git中,打tag是非常重要的操作,它可以帮助我们更好地管理代码版本,并且方便我们在以后的开发中快速找到特定版本的代码。无论是轻量标签还是附注标签,都可以帮助我们更好地管理代码库中的重要版本、发布、里程碑等。因此,大家可以在实际的开发中多多尝试,掌握Git标签的使用方法,从而更好地管理你的代码库。

posted @ 2017-12-13 23:18  古兰精  阅读(1637)  评论(0编辑  收藏  举报