1

为什么要使用git标签

随着大规模微服务开发的发展,各个微服务之间的互相依赖总会考虑版本的问题。以前我们采用不同的分支来暂时解决这个问题,但是对分支的迭代偶尔会引入不兼容的更改,发生不可预料的问题。
使用git标签,可以将我们依赖的某个微服务的版本限定到某个确定的commitID 而不是某个经常会迭代的分支。配合语义化版本的引入,我们可以轻松的解决版本依赖的问题

如何给某个commentIDtag

命令说明
git tag查看所有标签,按 q 退出
git tag -l <tagname>查看指定标签
git tag <tagname>在当前分支的最新HEAD上创建轻量级标签:tagname
git tag <tagname> <commitID>为对应的某个commitID打标签
git tag -a <tagname> -m <comment>为标签 tagname 增加说明 comment
git tag -a <tagname> -m <comment> <commitID>为某个commitID打标签 tagname 增加说明 comment
git show <tagname>查看标签:tagname 的内容
git tag -d <tagname>删除标签:tagname

推送标签内容到远端

命令说明
git push origin --tags推送所有标签到远端
git push origin <tagname>推送指定标签到远端
git push origin :refs/tags/<tagname>删除远端指定标签

如何快速回滚到某个 tag

$git reset <tagname>

如何快速切换到某个 tag

$git checkout <tagname>

为什么网上的很多开源项目只有master分支呢

版本管理可以借助git的tag来实现。但是,在开发过程中,不可能每次修改都打标签然后发布。

实际开发中,一般会有一个dev分支,作为开发版本分支。在没有完成此次开发任务前,所有的代码都是合并到dev分支。

当完成了开发任务,管理者会将dev分支合并到master分支,然后删除dev分支,并且通过打标签来发布版本。

这就是为什么很多放弃维护的大型开源项目只有master分支的原因。

参考:https://segmentfault.com/a/11...


buildyuan
95 声望6 粉丝

talk is cheap,show me the code