[置顶] 【Git入门之十一】标签管理

原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/12309731


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


1.为当前版本创建标签

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

 

[cpp]  view plain copy
 
  1. #切换到master  
  2. $ git checkout master  
  3. Switched to branch 'master'  
  4.   
  5. #给master当前版本添加一个标签v1.0.0.0  
  6. $ git tag v1.0.0.0  

 


2.给指定版本创建标签

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

 

[cpp]  view plain copy
 
  1. #显示提交日记  
  2. $ git log --pretty=oneline  
  3. eb073a62baf60ef7bf9952da5254aaf1d5736f45 It's no conflict now  
  4. ed84e67e7f509e127a8379be18ddbfc16c7c0359 master modify  
  5. 32c87551dca76216a24bb93e5cdbc05cefc07e63 br modify  
  6. ac2846f459eb9acee95d78c7954e0f58758b6d52 there is no confilct now  
  7. 9ab72067ba2ff1efca3999a40cc3ed1d981b01ad jackygit modify  
  8. 15a6406ed7f889bab7e812f9e6bedb6e78431232 jackygit2 modify  
  9. ...  
  10.   
  11. #给eb073a创建标签v0.9.0.0  
  12. $ git tag v0.9.0.0 eb073a  

 

3.查看标签

使用《git tag》查看标签。

 

[cpp]  view plain copy
 
  1. #显示所有标签  
  2. $ git tag  
  3. v0.9.0.0  
  4. v1.0.0.0  

4.创建带有说明的标签

 

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

 

[cpp]  view plain copy
 
  1. #创建带有说明的标签  
  2. $ git tag -a v0.8.0.0 -m "beta version" ed84e6  

5.显示标签详情

 

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

 

[cpp]  view plain copy
 
  1. #显示标签说明  
  2. $ git show v0.8.0.0  
  3. tag v0.8.0.0  
  4. Tagger: Jacky <fusijie@vip.qq.com>  
  5. Date:   Mon Sep 30 08:40:25 2013 +0800  
  6.   
  7. beta version  
  8.   
  9. commit ed84e67e7f509e127a8379be18ddbfc16c7c0359  
  10. Author: Jacky <fusijie@vip.qq.com>  
  11. Date:   Sun Sep 29 15:43:08 2013 +0800  
  12.   
  13.     master modify  
  14.   
  15. diff --git a/Jackydata01 b/Jackydata01  
  16. index 276eae7..79e383b 100644  
  17. --- a/Jackydata01  
  18. +++ b/Jackydata01  
  19. @@ -1 +1 @@  
  20. -there is no conflict now  
  21. +It's modified in master  

 


6.删除标签

使用《git tag -d 标签名》来删除某个标签。

 

[cpp]  view plain copy
 
  1. #删除某个标签  
  2. $ git tag -d v0.9.0.0  
  3. Deleted tag 'v0.9.0.0' (was eb073a6)  
  4.   
  5. #显示标签  
  6. $ git tag  
  7. v0.8.0.0  
  8. v1.0.0.0  

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

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

 

[cpp]  view plain copy
 
  1. #推送某个标签到远程仓库  
  2. $ git push git_github v0.8.0.0  
  3. Counting objects: 35, done.  
  4. Delta compression using up to 2 threads.  
  5. Compressing objects: 100% (21/21), done.  
  6. Writing objects: 100% (31/31), 2.58 KiB | 0 bytes/s, done.  
  7. Total 31 (delta 11), reused 0 (delta 0)  
  8. To git@github.com:fusijie/JackyGit.git  
  9.  * [new tag]         v0.8.0.0 -> v0.8.0.0  

8.推送所有标签到远程仓库

 

推送所有标签使用《git push 远程仓库名 --tags》。

 

[cpp]  view plain copy
 
  1. #推送所有标签到远程仓库  
  2. $ git push git_github --tags  
  3. Counting objects: 10, done.  
  4. Delta compression using up to 2 threads.  
  5. Compressing objects: 100% (4/4), done.  
  6. Writing objects: 100% (6/6), 551 bytes | 0 bytes/s, done.  
  7. Total 6 (delta 2), reused 0 (delta 0)  
  8. To git@github.com:fusijie/JackyGit.git  
  9.  * [new tag]         v1.0.0.0 -> v1.0.0.0  

9.从远程仓库删除标签

 

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

 

[cpp]  view plain copy
 
  1. #从本地删除标签  
  2. $ git tag -d v0.8.0.0  
  3. Deleted tag 'v0.8.0.0' (was e11559e)  
  4.   
  5. #删除远程标签  
  6. $ git push git_github :refs/tags/v0.8.0.0  
  7. To git@github.com:fusijie/JackyGit.git  
  8.  - [deleted]         v0.8.0.0