项目release 之后一般都会打一个tag 做记录。本人使用idea管理tag的时候,遇到的问题做一些记录。
1:idea 创建tag
idea 创建tag ,我们可以右键项目,然后按照下图操作创建tag
选择Tag 菜单可以进行tag创建
此时本地已经吃创建成功了tag标签,但是并没有同步到远程仓库,我们需要将创建的tag发布到远程仓库
右键项目-git ,如下图操作
选择Push菜单
最后点击push 菜单,发布到远程仓库 。上面这是正常流程
2:有时候我们想覆盖已经有的tag,发布完成显示成功,但是别人pull的时候并没有需要pull的内容,原因好像是并没有提交成功,后面的操作只能基于git 客户端操作
首先我们得删除远程已经有的tag ,(删除远程后记得删除本地tag)
git push origin :refs/tags/0.2.2 -- 其中0.2.2为要删除的tag名称
删除成功之后,就可以通过idea再次push到远端,或者通过命令行push到远端,其他人pull就可以获取最新的tag
git push origin test_tag //!!!本地tag推送到线上 ,其中test_tag 为tag名称
或者 git push origin --tags
3: 想查看该项目的所有tag列表
git tag //查看tag
如果我们想查看tag的备注信息,可以加一些参数例如:
git tag -l -n
1"-l" 部分
-l 注意是字母"L",以列表形式列出所有tag的版本号.
2"-n" 部分
-n 显示出每个版本号对应的附加说明.
4:删除本地tag
git tag -d test_tag //本地删除tag
5:在某个commit上打tag
git tag test_tag c809ddbf83939a89659e51dc2a5fe183af384233 //在某个commit 上打tag
6: idea 更新最新tag到本地
别人新建的tag push 到远程,通过idea pull 代码,然后通过git 客户端, git tag -n 并没有看到有新的tag pull下来,可以通过 右键项目->git-Respository->Fetch 菜单更新最新tag
更新完之后再在客户端输入 git tag -n 查看tag列表,发现已经更新下来了。
再附一个参考博客:
https://www.jianshu.com/p/8ba47310d8aa