首先为什么学习git的tag?第一、web前端更新太快了,而有些开发不是那么急于追新,github上为保留过去的版本,所以用上了tag,当然,你会说用branch?我得搞清一个开源项目是朝着不同方向变化。以yeoman的generator-webapp为例,早起官方用的是grunt,而现在(2017/5)用gulp,grunt和gulp有有分别用自己版本。这么看,如果你用branch作为版本历史是不靠谱。因此,
最好方式是: branch用于项目开发的方向,而tag用于每种项目开发方向的各个版本历史记录。
下图是ggenerator-webapp的在github上远程remote repository的结果:
一、查询tag
1.列出tag
git tag #当前分支上所有tag
2.搜索符合的tag
git tag -| ‘v0.1.*‘
----------------------------
二、打标签
1.创建轻量tag
git tag v0.1.2-light
2.创建tag的注释
git tag -a v0.1.2 -m"0.1.2"
3.给已经commit过的版本打上tag
git log # 找到对应log的哈希值
git tag -a v0.1.1 9fbc3d0
--------------------------------------
三、切换tag
1.展示tag
git show v0.1.2
2.切换tag
git checkout [tagname]
--------------------------------------
四、删除标签
git tag -d v0.1.2
----------------------------
五、tag发布
git checkout v0.21
--------------------------
六、发布tag
git push origin [tagName]
git push origin -tags # 将所有的标签全部提交到remote上
----------------------------------
额外的问题补充
1.
cat fileName # 查看文件
2.如何查看当前的分支 ,我目前没有在百度上搜索到比较好的方法
可以通过随便切换tag是,git的命令行会提示前一个tag的名字,如下图显示: