接下来我们说一下Git
中的标签。标签就是每个版本的快照。标签是指向提交的,前面说过没做一次commit
就会生成一个id
。但是取得每次的版本那么长的id
则显得很不方便,所以我们引入了标签。
1.创建标签
在Git
中打标签我们首先要切换到分支上,我们在dev
分支上打标签
admin@DESKTOP-6HL5242 MINGW64 /c/studygit (master)
$ git checkout dev
Switched to branch 'dev'
创建标签,默认在当前提交上创建标签,git tag
命令可以查看所有标签,按照字母排序
admin@DESKTOP-6HL5242 MINGW64 /c/studygit (dev)
$ git tag v1.0
admin@DESKTOP-6HL5242 MINGW64 /c/studygit (dev)
$ git tag
v1.0
给历史版本打标签
admin@DESKTOP-6HL5242 MINGW64 /c/studygit (dev)
$ git log
commit 717dacfa38c94479201f686fdbe1444fad7f3f18 (HEAD -> dev, tag: v1.0, origin/dev)
Author: yz <357823669@qq.com>
Date: Wed Jan 31 09:43:31 2018 +0800
dev remote
commit a78cf2877ab4db6672258bc1bb815bac7a730a7e (origin/master, master)
Merge: 3a07802 a34f2aa
Author: yz <357823669@qq.com>
Date: Fri Jan 26 09:31:05 2018 +0800
dealbug2
commit a34f2aa36c0e04d1b7091d1fa8a00c97cc9dfb6e
Author: yz <357823669@qq.com>
Date: Fri Jan 26 09:27:23 2018 +0800
dealBUg
commit 3a078026b6a5c6b6f97700042d0a70f6c666c635
Author: yz <357823669@qq.com>
Date: Wed Jan 24 14:26:04 2018 +0800
admin@DESKTOP-6HL5242 MINGW64 /c/studygit (dev)
$ git tag v0.9 a78cf2877ab4db6672258bc1bb815
admin@DESKTOP-6HL5242 MINGW64 /c/studygit (dev)
$ git tag
v0.9
v1.0
使用git tag -a -m
-a
标签名 -m
描述 git show <标签名>
查看标签信息
admin@DESKTOP-6HL5242 MINGW64 /c/studygit (dev)
$ git tag -a v1.1 -m "tagsrc" 3a078026b6a5c6b6f97700
admin@DESKTOP-6HL5242 MINGW64 /c/studygit (dev)
$ git tag
v0.9
v1.0
v1.1
admin@DESKTOP-6HL5242 MINGW64 /c/studygit (dev)
$ git show v1.1
tag v1.1
Tagger: yz <357823669@qq.com>
Date: Wed Jan 31 14:32:01 2018 +0800
tagsrc
commit 3a078026b6a5c6b6f97700042d0a70f6c666c635 (tag: v1.1)
Author: yz <357823669@qq.com>
Date: Wed Jan 24 14:26:04 2018 +0800
2.操作标签
删除标签
admin@DESKTOP-6HL5242 MINGW64 /c/studygit (dev)
$ git tag
v0.9
v1.0
v1.1
admin@DESKTOP-6HL5242 MINGW64 /c/studygit (dev)
$ git tag -d v0.9
Deleted tag 'v0.9' (was a78cf28)
admin@DESKTOP-6HL5242 MINGW64 /c/studygit (dev)
$ git tag
v1.0
v1.1
将标签推送到GitHub
以及全部推送
admin@DESKTOP-6HL5242 MINGW64 /c/studygit (dev)
$ git push origin v1.0
Total 0 (delta 0), reused 0 (delta 0)
To github.com:RisingSunYZ/studygit.git
* [new tag] v1.0 -> v1.0
admin@DESKTOP-6HL5242 MINGW64 /c/studygit (dev)
$ git push origin --tags
Counting objects: 1, done.
Writing objects: 100% (1/1), 148 bytes | 74.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To github.com:RisingSunYZ/studygit.git
* [new tag] v1.1 -> v1.1
如果已经推送到远程删除分两步
1 先删除本地标签
admin@DESKTOP-6HL5242 MINGW64 /c/studygit (dev)
$ git tag -d v1.0
Deleted tag 'v1.0' (was 717dacf)
2 再删除远程库中标签
admin@DESKTOP-6HL5242 MINGW64 /c/studygit (dev)
$ git push origin :refs/tags/v1.0
To github.com:RisingSunYZ/studygit.git
- [deleted] v1.0