其他

Github 打Tag

github中有branch和tag,也就是分支和标签的概念。就我目前的理解而言,branch是用来存放最终代码的,而tag是用来描述你在开发过程中,是如何一步步到达最终目的,就像别人说的里程碑。比如你新建了多个tag,分别为v1.0 v2.0 v3.0….就是有很多个版本,然后v1.0是实现A功能,v2.0是实现A+B功能,v3.0是实现A+B+C功能。这就是tag的功能了,然后最后版本的tag在push到branch里。从存储上看,tag和branch是并列的,但是从我们给他的逻辑关系上看,tag是属于branch里的。

查看tag

// 查看tag,列出所有tag,列出的tag是按字母排序的,和创建时间没关系。
$ git tag
v0.1
v1.3

显示tag详细信息

//显示指定tag的信息
$ git show v1.4
tag v1.4
Tagger: Scott Chacon <schacon@gee-mail.com>
Date:   Mon Feb 9 14:45:11 2009 -0800

my version 1.4

commit 15027957951b64cf874c3557a0f3547bd83b3ff6
Merge: 4a447f7... a6b4c97...
Author: Scott Chacon <schacon@gee-mail.com>
Date:   Sun Feb 8 19:02:46 2009 -0800

    Merge branch 'experiment'

创建tag

//创建轻量级tag:这样创建的tag没有附带其他信息
git tag v1.0
//带信息的tag:-m后面带的就是注释信息,这样在日后查看的时候会很有用
git tag -a v1.0 -m 'first version'

上传tag到branch

//我们在执行 git push 的时候,tag是不会上传到服务器的,比如现在的github,创建 tag 后 git push ,在github网页上是看不到tag 的,为了共享这些tag,你必须这样:
git push origin v1.0
或者
//将所有tag 一次全部push到github上。
git push origin --tags

删除tag

//删除本地tag
git tag -d v1.0
//删除github远端的指定tag
git push origin :refs/tags/v1.0.0