在管理上线版本上,Git tag 和 branch 有什么区别?
我个人觉得 tag
更适合用于管理上线版本(事实上 GitHub 上的很多项目也是用 tag
控制发版的)。
因为 tag
是一个不可更改的标记位,你在某个节点打了 tag
并发布上线,之后不管过了多久,当你回到这个 tag
的时候,你可以肯定现在的代码和上线时是一样的。
而 branch
是可以继续修改的,比如你有一个 v3.3 的分支上线了,然后接着开发 v3.4、v3.5 ... 一段时间以后你再切回 v3.3 分支的时候,你不能保证这时候的 v3.3 和之前的 v3.3 是一样的,得查看 log。