1. 标签概念
发布一个版本时,通常现在版本库中打一个标签。这样就确定了打标签时刻的版本。将来在取某个标签时,就把那个标签的历史版本拿出来。标签就相当于版本库中的一个快照。
标签与commit不一样的是,commit号是随机生成的,很繁琐。标签号可以自定义,方便。
2. [endif]创建标签
1)Git中打标签步骤:
①.先切换到需要打标签的分支上
②.然后命令git tag 就可以打一个新标签
$ git tag v1.0
③.可以用git tag查看所有标签
$ git tag
v1.0
④.如果要对过去的版本打标签,那只能找到过去版本的commit号,然后打上
$ git log --pretty=oneline --abbrev-commit12a631b (HEAD -> master, tag: v1.0, origin/master) merged bug fix 1014c805e2 fix bug 101
e1e9c68 merge with no-ff
f52c633 add merge
cf810e4 conflict fixed5dc6824 & simple14096d0 AND simple
b17d20e branch test
d46f35e remove test.txt
b84166e add test.txt519219b git tracks changes
e43a48b understand how stage works1094adb append GPL
e475afc add distributed
eaadf4e wrote a readme file
$ git tag v0.9 f52c633
总结:
1# git tag 用于新建一个标签,默认为head,也可以指定一个commit id
2# git tag -a -m “adad”可以指定标签信息
3# git tag可以查看所有标签
3. 操作标签
如果标签打错了,也可以删除。
$ git tag -d v0.1
Deleted tag 'v0.1' (was f15b0dd)
如果要推送某个标签到远程,使用命令git push origin
$ git push origin v1.0Total 0 (delta 0), reused 0 (delta 0)To github.com:michaelliao/learngit.git
* [new tag] v1.0 -> v1.0
或者一次性推送全部尚未推送到远程的本地标签
$ git push origin --tags
Total 0 (delta 0), reused 0 (delta 0)
To github.com:michaelliao/learngit.git
* [new tag] v0.9 -> v0.9
如果标签已经推送到远程,那删除远程标签就有点麻烦
先从本地删除
$ git tag -d v0.9
Deleted tag 'v0.9' (was f52c633)
然后,从远程删除。也是用push
$ git push origin :refs/tags/v0.9
To github.com:michaelliao/learngit.git
- [deleted] v0.9
总结:
1# git push origin 推送一个本地标签
2# git push origin --tags可以推送全部未推送过的标签
3# git tag -d 删除本地标签
4# git push origin :refs/tags/删除一个远程标签