博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git
阅读量:6112 次
发布时间:2019-06-21

本文共 2672 字,大约阅读时间需要 8 分钟。

hot3.png

tag:

查询:

git tag //显示当前的标签git tag -l v1.4.*  //显示以v1.4.开头的标签

创建:

可以创建不带注释带注释的两种标签。

“在git中有两种最主要的标签--轻量级标签(lightweight)和带注释的标签(annotated)。轻量级标签跟分枝一样,不会改变--它就是针对某个特定提交的指针。然而,带注释的标签是git仓库中的对象。它是一组校验和,包含标签名、email、日期,标签信息,GPG签名和验证。一般情况下,建议创建带注释的标签,这样就会保留这些信息,但是如果你只是需要临时性标签或者某些原因你不想在标签中附带上面说的这些信息,lightweight标签更合适些。””

带注释的标签

在git中创建带注释的标签非常简单,在运行'tag'命令时加上-a就可以了。

$ git tag -a v1.4 -m 'my version 1.4'$ git tagv0.1v1.3v1.4

'-m'指明标签信息,跟标签一起存储。如果你不使用-m指明标签信息,git会自动启动文本编辑器让你输入。

可以使用 git show 命令查看相应标签的版本信息,并连同显示打标签时的提交对象。

$ git show v1.4tag v1.4Tagger: XX 
Date:   Mon Feb 9 14:45:11 2009 -0800my version 1.4commit 15027957951b64cf874c3557a0f3547bd83b3ff6Merge: 4a447f7... a6b4c97...Author: XX 
Date:   Sun Feb 8 19:02:46 2009 -0800    Merge branch 'experiment'

如果你有GPG私钥的话,你也可以用GPG来给你的标签签名,把-a换成-s就可以了:

[master]$ git tag -s v1.5 -m 'my signed 1.5 tag'You need a passphrase to unlock the secret key foruser: "XX 
"1024-bit DSA key, ID F721C45A, created 2009-02-09

然后,如果你对某个标签运行'git show'的话,你就会看到你的GPG前面附加上去了。

[master]$ git show v1.5tag v1.5Tagger: Scott Chacon 
Date:   Mon Feb 9 15:22:20 2009 -0800my signed 1.5 tag-----BEGIN PGP SIGNATURE-----Version: GnuPG v1.4.8 (Darwin)iEYEABECAAYFAkmQurIACgkQON3DxfchxFr5cACeIMN+ZxLKggJQf0QYiQBwgySNKi0An2JeAVUCAiJ7Ox6ZEtK+NvZAj82/=WryJ-----END PGP SIGNATURE-----commit 15027957951b64cf874c3557a0f3547bd83b3ff6Merge: 4a447f7... a6b4c97...Author: XX 
Date:   Sun Feb 8 19:02:46 2009 -0800    Merge branch 'experiment'

轻量级标签:

轻量级标签实际上就是存在一个文件中的提交校验和--没有附加任何其他信息。创建轻量级标签的方法就是把上面'-a','-s','-m'这些选项都去掉。

$ git tag v1.4-lw

验证标签

使用'git tag -v tag'就可以验证一个签名标签了。这个命令会用到GPG来验证签名。前提是:你必须在密钥环中存放着签名者的公钥。

后期贴标签

这种情况是说你想对以前的某次提交贴个标签,如果整个提交历史是这样的:

$ git log --pretty=oneline15027957951b64cf874c3557a0f3547bd83b3ff6 Merge branch 'experiment'a6b4c97498bd301d84096da251c98a07c7723e65 beginning write support

你可以在执行创建标签的语句后面跟上那次提交的校验和(或者部分校验和):

$ git tag -a v1.2 a6b4c97

共享标签:

默认情况下,'git push'命令不会将标签上传到远程服务器上。为了共享这些标签,你必须在'git push'命令后明确添加--tags选项

$ git push --tags

git 设置, 通过编辑 ~/.gitconfig 文件:

 [user]                                                                                                                    name = yourname      email = mailname@xx.com [core]      excludesfile = /Users/may/.gitignore_global [difftool "sourcetree"]      cmd = opendiff \"$LOCAL\" \"$REMOTE\"      path = [mergetool "sourcetree"]     cmd = /Applications/SourceTree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -    merge \"$MERGED\"     trustExitCode = true [push]     default = simple [alias]     st = status

转载于:https://my.oschina.net/u/255456/blog/360951

你可能感兴趣的文章
第十二周作业
查看>>
Server Develop (四) select实现非阻塞sever
查看>>
【转载】程序员新年要做的10个决定
查看>>
自学之jQuery
查看>>
CV、PR方向的资源
查看>>
使用FusionCharts Free显示图表(JSP)
查看>>
如何根据日志查看删除的数据(转译)
查看>>
《软件设计师》考点分布
查看>>
02 jmeter性能测试系列_JForum测试论坛的环境搭建
查看>>
flume-采集报错
查看>>
六. numpy数据矩阵
查看>>
关于scrollview的无限滚动效果实现
查看>>
Android中利用ant进行多渠道循环批量打包
查看>>
[Android] ImageView.ScaleType设置
查看>>
mysql
查看>>
Java:详解内部类
查看>>
Fragment分解使用
查看>>
操纵状态栏-IOS开发
查看>>
NSData和结构体struct之间如何转换
查看>>
文章列表正序、反序排列——利用JS动态改变跳转网址
查看>>