【Git入门之十一】标签管理 - JackyStudio - 博客频道 - CSDN.NET
标签是啥?标签就是给某个版本的一个标记。
1.为当前版本创建标签
使用《git tag 标签名》来给当前标签命名。
- #切换到master
- $Snbsp;git checkout master
- Switched to branch 'master'
- #给master当前版本添加一个标签v1.0.0.0
- $Snbsp;git tag v1.0.0.0
2.给指定版本创建标签
使用《git tag 标签名 版本号》来给指定版本创建标签。
- #显示提交日记
- $Snbsp;git log --pretty=oneline
- eb073a62baf60ef7bf9952da5254aaf1d5736f45 It's no conflict now
- ed84e67e7f509e127a8379be18ddbfc16c7c0359 master modify
- 32c87551dca76216a24bb93e5cdbc05cefc07e63 br modify
- ac2846f459eb9acee95d78c7954e0f58758b6d52 there is no confilct now
- 9ab72067ba2ff1efca3999a40cc3ed1d981b01ad jackygit modify
- 15a6406ed7f889bab7e812f9e6bedb6e78431232 jackygit2 modify
- ...
- #给eb073a创建标签v0.9.0.0
- $Snbsp;git tag v0.9.0.0 eb073a
3.查看标签
使用《git tag》查看标签。
- #显示所有标签
- $Snbsp;git tag
- v0.9.0.0
- v1.0.0.0
4.创建带有说明的标签
使用《git tag -a 标签名 -m "标签说明" 版本号》来创建带有说明的标签。
- #创建带有说明的标签
- $Snbsp;git tag -a v0.8.0.0 -m "beta version" ed84e6
5.显示标签详情
使用《git show 标签》来显示标签详情
- #显示标签说明
- $Snbsp;git show v0.8.0.0
- tag v0.8.0.0
- Tagger: Jacky <fusijie@vip.qq.com>
- Date: Mon Sep 30 08:40:25 2013 +0800
- beta version
- commit ed84e67e7f509e127a8379be18ddbfc16c7c0359
- Author: Jacky <fusijie@vip.qq.com>
- Date: Sun Sep 29 15:43:08 2013 +0800
- master modify
- diff --git a/Jackydata01 b/Jackydata01
- index 276eae7..79e383b 100644
- --- a/Jackydata01
- +++ b/Jackydata01
- @@ -1 +1 @@
- -there is no conflict now
- +It's modified in master
6.删除标签
使用《git tag -d 标签名》来删除某个标签。
- #删除某个标签
- $Snbsp;git tag -d v0.9.0.0
- Deleted tag 'v0.9.0.0' (was eb073a6)
- #显示标签
- $Snbsp;git tag
- v0.8.0.0
- v1.0.0.0
7.推送某个标签到远程仓库
标签默认是存储在本地的,所以如果要推送到远程仓库,必须使用《git push 远程仓库名 标签名》。
- #推送某个标签到远程仓库
- $Snbsp;git push git_github v0.8.0.0
- Counting objects: 35, done.
- Delta compression using up to 2 threads.
- Compressing objects: 100% (21/21), done.
- Writing objects: 100% (31/31), 2.58 KiB | 0 bytes/s, done.
- Total 31 (delta 11), reused 0 (delta 0)
- To git@github.com:fusijie/JackyGit.git
- * [new tag] v0.8.0.0 -> v0.8.0.0
8.推送所有标签到远程仓库
推送所有标签使用《git push 远程仓库名 --tags》。
- #推送所有标签到远程仓库
- $Snbsp;git push git_github --tags
- Counting objects: 10, done.
- Delta compression using up to 2 threads.
- Compressing objects: 100% (4/4), done.
- Writing objects: 100% (6/6), 551 bytes | 0 bytes/s, done.
- Total 6 (delta 2), reused 0 (delta 0)
- To git@github.com:fusijie/JackyGit.git
- * [new tag] v1.0.0.0 -> v1.0.0.0
9.从远程仓库删除标签
从远程仓库删除标签,先从本地删除标签,然后再删除远程仓库标签,其实就是同步的意思。
- #从本地删除标签
- $Snbsp;git tag -d v0.8.0.0
- Deleted tag 'v0.8.0.0' (was e11559e)
- #删除远程标签
- $Snbsp;git push git_github :refs/tags/v0.8.0.0
- To git@github.com:fusijie/JackyGit.git
- - [deleted] v0.8.0.0