Git学习总结(标签管理)
在Git中打标签非常简单,首先,切换到需要打标签的分支上:
然后,敲命令git tag <name>
就可以打一个新标签:
$ git tag v1.0
可以用命令git tag
查看所有标签:
$ git tag v1.0
默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,比如,现在已经是周五了,但应该在周一打的标签没有打,怎么办?
方法是找到历史提交的commit id,然后打上就可以了:
1 $ git log --pretty=oneline --abbrev-commit 2 12a631b (HEAD -> master, tag: v1.0, origin/master) merged bug fix 101 3 4c805e2 fix bug 101 4 e1e9c68 merge with no-ff 5 f52c633 add merge 6 cf810e4 conflict fixed 7 5dc6824 & simple 8 14096d0 AND simple 9 b17d20e branch test 10 d46f35e remove test.txt 11 b84166e add test.txt 12 519219b git tracks changes 13 e43a48b understand how stage works 14 1094adb append GPL 15 e475afc add distributed 16 eaadf4e wrote a readme fil
比方说要对add merge
这次提交打标签,它对应的commit id是f52c633
,敲入命令:
$ git tag v0.9 f52c633
还可以创建带有说明的标签,用-a
指定标签名,-m
指定说明文字:
1 $ git tag -a v0.1 -m "version 0.1 released" 1094adb
用命令git show <tagname>
可以看到说明文字:
小结
-
命令
git tag <tagname>
用于新建一个标签,默认为HEAD
,也可以指定一个commit id; -
命令
git tag -a <tagname> -m "blablabla..."
可以指定标签信息; -
命令
git tag
可以查看所有标签
如果标签打错了,也可以删除:
1 $ git tag -d v0.1 2 Deleted tag 'v0.1' (was f15b0dd)
如果要推送某个标签到远程,使用命令git push origin <tagname>
:
1 $ git push origin v1.0 2 Total 0 (delta 0), reused 0 (delta 0) 3 To github.com:michaelliao/learngit.git 4 * [new tag] v1.0 -> v1.0
小结
-
命令
git push origin <tagname>
可以推送一个本地标签; -
命令
git push origin --tags
可以推送全部未推送过的本地标签; -
命令
git tag -d <tagname>
可以删除一个本地标签; -
命令
git push origin :refs/tags/<tagname>
可以删除一个远程标签。