为什么要使用git标签
随着大规模微服务开发的发展,各个微服务之间的互相依赖总会考虑版本的问题。以前我们采用不同的分支来暂时解决这个问题,但是对分支的迭代偶尔会引入不兼容的更改,发生不可预料的问题。
使用git标签,可以将我们依赖的某个微服务的版本限定到某个确定的commitID
而不是某个经常会迭代的分支。配合语义化版本的引入,我们可以轻松的解决版本依赖的问题
如何给某个commentID
打 tag
命令 | 说明 |
---|---|
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分支的原因。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。