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查看确认

posted @ 2015-01-19 22:44  KeithMorning  阅读(325)  评论(0编辑  收藏  举报