Git

Git Tag使用

教你打标签

Posted by Felix on September 22, 2017

Git Tag

Git的tag相当于branch,不过也有一定的区别,branch是不断变化的,而tag可被认为是一个快照,不可变的,用来记录某个时间点的提交快照。用户可用tag来记录版本的发布,通常被使用在主分支。

创建tag

git tag <name>

这样创建的tag会默认打在最后一次的提交上,也可以通过commit id指定要创建tag的地方
git tag <name> <SHA-1 Code>

查看tag

git tag

查看指定的tag使用: git show <Tag name>

删除本地tag

git tag -d <tag name>

删除远程tag

需要先删除本地的相应tag,然后使用:git push origin :refs/tags/<tag name>

将tag push到远端

git push origin <Tag 名字>

如果本地有多个tag需要推送,可使用:git push origin --tags

获取指定tag代码

软件每发布一个版本都应该打相应的tag,想象一下如果软件已经发布到了2.0,突然有需求让你打一个1.5的版本(虽说不常有这种变态需求),如果没有打tag那应该是个灾难性的工作,那如何检出指定tag的代码呢?使用如下命令:

git checkout <tag_name>

像检出分支一样,但是这样检出的代码会提示你当前处于“detached HEAD” 状态,也就是说不能编辑提交,如果想把指定分支的代码拿出来编辑,需使用如下命令:

git checkout -b <new branch name> <tag name>

这样会将指定tag下代码快照检出到一个新的分支,你可以在新分支做任何编辑操作。