Git中的tag和branch区别和使用

tag为标签,用来记录版本信息,是提交历史中某一个commit的快照。
branch为分支,有一个head指针,是可以依靠这个head指针来移动的。
一般在开发过程中,如果项目取得重大突破或者稳定可运行可上线等,会打上一个tag作为版本标记,相比于查看commit的hash值,我们可以用标签比较快的检索和识别。我们在开发新功能的时候,会创建一个branch,在branch中开发,开发完成之后再合入master。

tag的使用

查看tag

git tag

支持模糊搜索,如只对2.3.5.*系列感兴趣,则

git tag -l "2.3.5.*"

切换到指定tag

git clone整个仓库后,使用下面命令就可以取得指定tag的代码

git checkout tag_name

注意这时候git会提示你目前处于detached HEAD的状态,因为tag相当于一个快照,不能修改他的代码,如果想要在这个tag的代码基础上进行开发,则根据tag创建一个新的分支

git checkout -b branch_name tag_name

创建tag

git tag -a v1.0 -m "version 1.0"

查看tag

git show v1.0

共享tag

默认情况下,git push 命令并不会传送标签到远程仓库服务器上。 在创建完标签后必须显式地推送标签到共享服务器上。 这个过程就像共享远程分支一样——可以运行 git push origin [tagname]。

git push origin v1.0

如果想要一次性推送很多标签,也可以使用带有 --tags 选项的 git push 命令。 这将会把所有不在远程仓库服务器上的标签全部传送到那里。

git push origin --tags

删除tag

git tag -d v1.0
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容