您的位置:首页 > 其它

【Git入门之十一】标签管理

2013-10-05 14:21 411 查看
原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/12309731


标签是啥?标签就是给某个版本的一个标记。

1.为当前版本创建标签

使用《git tag 标签名》来给当前标签命名。

[cpp] view
plaincopy

#切换到master  

$ git checkout master  

Switched to branch 'master'  

  

#给master当前版本添加一个标签v1.0.0.0  

$ git tag v1.0.0.0  

2.给指定版本创建标签

使用《git tag 标签名 版本号》来给指定版本创建标签。

[cpp] view
plaincopy

#显示提交日记  

$ 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  

$ git tag v0.9.0.0 eb073a  

3.查看标签

使用《git tag》查看标签。

[cpp] view
plaincopy

#显示所有标签  

$ git tag  

v0.9.0.0  

v1.0.0.0  

4.创建带有说明的标签

使用《git tag -a 标签名 -m "标签说明"  版本号》来创建带有说明的标签。

[cpp] view
plaincopy

#创建带有说明的标签  

$ git tag -a v0.8.0.0 -m "beta version" ed84e6  

5.显示标签详情

使用《git show 标签》来显示标签详情

[cpp] view
plaincopy

#显示标签说明  

$ 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 标签名》来删除某个标签。

[cpp] view
plaincopy

#删除某个标签  

$ git tag -d v0.9.0.0  

Deleted tag 'v0.9.0.0' (was eb073a6)  

  

#显示标签  

$ git tag  

v0.8.0.0  

v1.0.0.0  

7.推送某个标签到远程仓库

标签默认是存储在本地的,所以如果要推送到远程仓库,必须使用《git push 远程仓库名 标签名》。

[cpp] view
plaincopy

#推送某个标签到远程仓库  

$ 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》。

[cpp] view
plaincopy

#推送所有标签到远程仓库  

$ 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.从远程仓库删除标签

从远程仓库删除标签,先从本地删除标签,然后再删除远程仓库标签,其实就是同步的意思。

[cpp] view
plaincopy

#从本地删除标签  

$ git tag -d v0.8.0.0  

Deleted tag 'v0.8.0.0' (was e11559e)  

  

#删除远程标签  

$ git push git_github :refs/tags/v0.8.0.0  

To git@github.com:fusijie/JackyGit.git  

 - [deleted]         v0.8.0.0  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息