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>可以删除一个远程标签。

原文地址:https://www.cnblogs.com/ustc-anmin/p/10489265.html