侧边栏壁纸
博主头像
秋码记录

一个游离于山间之上的Java爱好者 | A Java lover living in the mountains

  • 累计撰写 29 篇文章
  • 累计创建 40 个标签
  • 累计创建 185 个分类

Git版本控制教程之为项目打上标签(二)

git为项目打上标签,例如,可以在项目稳定阶段或测试阶段,都可以打上一个版本号作为标签名。

1、列出标签

首先先列出当前项目的已有标签。

git tag

img

你也可以按照特定的模式查找标签。 例如,Git 自身的源代码仓库包含标签的数量超过 500 个。 如果只对 1.8.5 系列感兴趣

git tag -l "v1.8.5*"  # 按照通配符列出标签需要 -l 或 --list 选项

2、创建标签

git tag -a v0.0.1 -m "初始版本 0.0.1"

img

显示 v0.0.1标签与之对应的提交信息

git show v0.0.1

img

3、后续打标签

对已经提交过的版本但还未有标签的,也可创建标签

git log --pretty=oneline

img

git tag -a v0.0.0.1 309bc6f # 309bc6f 是 SHA-1字符串前7个字符

4、推送标签到远程仓库

默认情况下,git push 命令并不会传送标签到远程仓库服务器上。 在创建完标签后你必须显式地推送标签到共享服务器上。 这个过程就像共享远程分支一样——你可以运行 git push origin <tagname>

git push origin v0.0.0.1

img

img

可以看到远程库上面没有任何标签,在推送远程库之后,刷新页面。

img

img

如果想要一次性推送很多标签,也可以使用带有 --tags 选项的 git push 命令。 这将会把所有不在远程仓库服务器上的标签全部传送到那里。

git push origin --tags

img

img

5、删除标签

有时候需要删除本地仓库的标签,可以使用git tag -d <tagname>

git tag -d v0.0.0.2

img

当然你在执行以上命令后,并未删除远程库对应的标签,需使用git push <remote> :refs/tags/<tagname>来更新远程库。

git push origin :refs/tags/v0.0.0.2

img

img

其实还有一种方法更为直观的删除远程库标签

git push origin --delete v0.0.0.2

img

6、检出标签(不建议这么做)

​ 如果你想查看某个标签所指向的文件版本,可以使用 git checkout 命令, 虽然这会使你的仓库处于分离头指针(detached HEAD)的状态——这个状态有些不好的副作用: 在分离头指针状态下,如果你做了某些更改然后提交它们,标签不会发生变化, 但你的新提交将不属于任何分支,并且将无法访问,除非通过确切的提交哈希才能访问。 因此,如果你需要进行更改,比如你要修复旧版本中的错误,那么通常需要创建一个新分支:

敬请期待下一篇 git分支