git学习(7)标签管理

git学习(7)标签管理

1. 建立标签

在发布版本时候,我们通常会在版本库中打一个标签,这样就唯一确定了打标签的版本,有点像个里程碑,这里会有一个指向某个commit的指针

打标签很简单,首先切换到要打标签的分支上,然后使用命令git tag <name>

$ git branch
* dev
master $ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'. $ git tag v0.9
fengxideMac:gitstudy fengxi$ git tag
v0.9

如果想打到指定提交commit id上怎么办呢,首先用git log找到历史提交的commit id,然后打上就可以了,语法是git tag <name> <commit id>

$ git log --pretty=oneline --abbrev-commit
9bf414a Merge branch 'currentBranch'
f13d37a a new function finished
76559b7 fix the readme ok
832fb4f fix readme bug
2a4d4ea confict fixed
9f00674 & simple
... $ git tag v0.8 76559b7
$ git tag
v0.8
v0.9

标签是按字母进行排序的,而不是按时间列出,所以name需要确认正确,查看某一tag的详细信息可以通过git show <tag name>

2. 删除本地和远程标签

本地建立标签后如果想推送到远程标签,可以使用git push origin <tagname>

$ git push origin v0.8
Total 0 (delta 0), reused 0 (delta 0)
To git@github.com:keithmorning/gitstudy.git
* [new tag] v0.8 -> v0.8

如果想把本地全部没有推送的标签都推送到远程可以使用 git push origin --tags

$ git tag
v0.2
v0.8
v0.9 $ git push origin --tags
Total 0 (delta 0), reused 0 (delta 0)
To git@github.com:keithmorning/gitstudy.git
* [new tag] v0.2 -> v0.2
* [new tag] v0.9 -> v0.9

删除本地标签可以用git tag -d <tag name>

$ git tag -d v0.2
Deleted tag 'v0.2' (was 57a2755)

远程的标签删除相对复杂一些可以用git push origin :refs/tags/<tagName>

$ git push origin :refs/tags/v0.2
To git@github.com:keithmorning/gitstudy.git
- [deleted] v0.2

删除后可以到gitHub的tags查看确认

上一篇:《Python》网络编程之验证客户端连接的合法性、socketserver模块


下一篇:Git教程之分支管理之二