Git中tag使用教程

一、tag简介

tag是git版本库的一个标记,指向某个commit的指针。
tag主要用于发布版本的管理,一个版本发布之后,我们可以为git打上 v.1.0.1 ,v.1.0.2 …这样的标签。
tag感觉跟branch有点相似,但是本质上和分工上是不同
tag对应某次commit,是一个点,是不可移动的。
branch 对应一系列commit,是很多点连成的一根线,有一个HEAD 指针,是可以依靠 HEAD 指针移动的。
所以,两者的区别决定了使用方式,改动代码用 branch ,不改动只查看用 tag。
tag 和 branch 的相互配合使用,有时候起到非常方便的效果,例如:已经发布了 v1.0 v2.0 v3.0 三个版本,这个时候,我突然想不改现有代码的前提下,在 v2.0 的基础上加个新功能,作为 v4.0 发布。就可以检出 v2.0 的代码作为一个 branch ,然后作为开发分支。

二、tag使用命令

1、列出所有tag

git tag //默认显示
git tag -l
git tag -n //查看所有tag和说明
git tag -l v1.* //查看匹配到的tag
git ls-remote --tags origin //查看远程所有tag

2、查看tag信息

git show v1.0.1 //查看v1.0.1的内容

3、创建tag

git tag v2.0
git push origin //远程tag的创建

4、创建带注释tag

git tag -a v2.1 -m '第二版本'  -m 后跟的是注释信息, 当使用git show v2.1的时候, 会显示这个注释信息
git push origin //远程tag的创建

5、推送tag

git push origin [tagname] //推送到远程仓库
git push origin --tags //推送所有tag到远程仓库

6、特定commit_id创建tag

git log --pretty=oneline //查看当前分支的提交历史 里面包含 commit_id
git tag -a

7、删除tag

git tag -d //方式一
git tag -d [tagname] //方式二
git push origin :refs/tags/v1.0.2 //方式一:远程tag的删除
git push origin --delete  //方式二:远程tag的删除

8、检出tag

git checkout -b
//因为 tag 本身指向的就是一个 commit,所以和根据commit id 检出分支是一个道理。
//但是需要特别说明的是,如果我们想要修改 tag检出代码分支,那么虽然分支中的代码改变了,但是 tag标记的 commit还是同一个,标记的代码是不会变的,这个要格外的注意
git checkout -b branch_name tag_name //新建分支检出
//注意不要在检出标签后做修改和提交,会出现不必要的麻烦。正确的做法应该是创建一个新的分支,在新的分支上做修改和提交。

9、切换tag

git checkout [tagname] //切换到指定tag

10、为之前提交的添加tag

git log --pretty=oneline --abbrev-commit //第一步:找到提记录
git tag -a v3.1 [指定标签名] [commitID] //第二步:为记录创建tag
//git tag -a "v1.0.2" 9fbc3d0

11、重命名tag

//1.强制替换,再删除原有
git tag -f  
git tag -d 
//2.删除原有tag,重新添加
git tag -d 
git tag -a  -m"information"

你可能感兴趣的:(linux,shell,git,git,github,shell)