tag
是git
版本库的一个标记,指向某个commit
的指针。
tag
主要用于发布版本的管理,一个版本发布之后,我们可以为git打上 v.1.0.1 v.1.0.2 …这样的标签。
tag
跟branch
有点相似,但是本质上和分工上是不同的:
tag
对应某次commit
, 是一个点,是不可移动的。
branch
对应一系列commit
,是很多点连成的一根线,有一个HEAD 指针,是可以依靠 HEAD 指针移动的。
所以,两者的区别决定了使用方式,改动代码用 branch
,不改动只查看用 tag
。
tag
和 branch
的相互配合使用,有时候起到非常方便的效果,例如:已经发布了 v1.0 v2.0 v3.0 三个版本,这个时候,我突然想不改现有代码的前提下,在 v2.0 的基础上加个新功能,作为 v4.0 发布。就可以检出 v2.0 的代码作为一个 branch
,然后作为开发分支。