一、什么是tag?
就是某次commit的标记。
二、tag常见用法
下面只是罗列了tag相关的常用命令,望各位知悉。
2.1、查看标签
git tag
2.2、查看某个tag下的内容
git checkout <tag>
2.3、打标签
git tag <xxx>
2.4、推送标签至origin
// 1、创建v1标签
git tag v1
// 2、推送v1标签
git push origin v1
2.5、删除tag标签
// 1、删除本地的v1标签
git tag -d v1
// 2、删除origin上的v1标签
git push origin --delete v1
2.6、如何更新某次tag下的代码?
因为tag是只读的,所以你想修改的话请遵循以下操作:
- 基于之前的tag创建新的branch
- 在新的branch上修改代码
- 基于新的branch创建新的tag
- 推送新的tag
三、为什么很鸡肋?
现在我们来分析下tag与branch的区别:
- tag是只读不可改的,branch是可改的
是的,它跟branch的区别就是一个可改一个不可改。你们想想,某次tag的代码出现了bug,我还得基于之前的tag来创建一个新分支,然后再基于这个新分支去 创建新的tag,这一来一回的累不累啊,还不如直接branch来的实在了...
四、什么时候应该使用?
我认为 当且仅当 对于做类库、框架、底层能力的那群人来说是必要的,剩下的做业务的完全没必要使用tag,branch就够用,个人愚见,不喜勿喷,哈哈哈哈哈。