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下代码快照检出到一个新的分支,你可以在新分支做任何编辑操作。