4、标签管理(git笔记)
一、创建标签
标签可以简单理解为属于分支定义的别名。分支本身都会进行指针的配置(分支都会指向某一个提交点),标签却是一个固定的内容,即标签永远指向一个提交点。现在如果已经有两个分支了。
- 为master定义一个标签。master分支是程序的最终发布版本,可以说,master就是一个完整的开发程序,我们给其加上一个标签
git tag v1.0
- 查看所有的标签
git tag
文章图片
1
但是这个标签只是针对当前的master分支,可以在一个项目之中一定会有很多个提交点,那么如何为之前的提交点打上标签?这里只需要找到提交号即可。
- 查询日志
git log --pretty=oneline --abbrev-commit
在日志上都会有提交号,下面我们针对一个提交号进行标签的定义。
- 为某个提交点(d032312)设置标签
git tag v0.6 d032312
git tag
文章图片
2
但是此时只是显示一些很简单的标签信息,并不是很详细,那如何查看更加详细的标签信息?
- 查看标签的详细信息
git show v0.6
文章图片
3
在之前所建立的标签都没有设置注释信息。
- 为标签添加时设置注释信息
git tag v0.77759687 -m "commit id 7759687"
文章图片
4 二、加密 标签创建完之后如果开发者只希望自己能修改标签,那么就必须进行加密的处理,而可以使用GPG工具实现加密。
- 下载地址:
www.gnupg.org
,安装过程很简单,这里不细说。安装之后在命令行使用命令:gpg -help
进行验证。下面我们通过一个示例对此工具进行一个说明。
- 生成自己的密钥
gpg --gen-key
文章图片
5
这里询问我们使用什么样的加密算法,我们选择之前使用过的RSA算法,这也是默认的选择,我们直接回车。
文章图片
6
这里询问我们密码长度,默认的长度为2048,这里我们选择默认,直接回车。
文章图片
7
这里让我们选择密钥的有效日期,这里我们选择永不过期。输入0回车。之后再输入y表示确认。
文章图片
8
让我们输入自己的个人信息。
文章图片
9
其中
comment
表示一些注释信息,之后提示我们是否进行修改,这里信息我们已经确认过了,不需要修改,这里我们直接输入o回车。
文章图片
10
随后提示我们设置私钥的密码,为了防止有人恶意修改。我们还是输入之前的密钥
walp
。
文章图片
11.png
之后就会出现一些提示信息。
文章图片
12
在这里面有几个重要的信息,密钥号:
5B24057A
。用户ID:
yjaal (my gpg information)
(用户名 注释 邮箱)。
- 为了方便,最好还生成一张撤销的证书,为的是以后如果密钥过期,可以通过服务器进行撤销。
gpg --gen-revoke 5B24057A
文章图片
13
这里提示是否进行撤销,输入y回车。
文章图片
14
这里输入0回车。
文章图片
15
然后输入我们之前设置的密钥。
16
此时会出现
文章图片
17
自动生成了相关的密钥信息。
- 通过gpg工具列出所有的密钥
gpg --list-keys
文章图片
18
- 实现文件的加密与解密处理
比如现在E:\github\LocalSource\gpgtest
下有一个Demo.txt
的文件:
Hello World!!!
为了传入的安全,我们在传输之前对其加密
gpg --recipient 5B24057A --output Demo.en.txt --encrypt Demo.txt
文章图片
19
这里就在此目录中生成了一个
Demo.en.txt
的加密文件。这里的命令中
5B24057A
是我们之前注册的用户的密钥号,我们给加密之后的文件名为
Demo.en.txt
,
--encrypt
指定要加密的文件。
- 对加密的文件进行解密
gpg --decrypt Demo.en.txt --output demo.de.txt
这里我们使用此命令不知道有什么问题,下面我们使用分布操作:
gpg Demo.en.txt
文章图片
20
这里在中途可能会让我们输入密码信息,填入之后我们需要给解密后的文件起名,这里起名为
Demo.de.txt
。此时我们在此目录中就会多出这样一个文件,此文件的内容和之前的文件
Demo.txt
的内容是一致的。这样就实现了一个解密操作。
三、使用GPG生成标签 现在我们已经生成好了一个密钥,名称是
5B24057A
。标签的加密只需要增加一个-s
的参数。- 使用GPG加密标签
git tag -s v0.9 -m "gpg handle tag" 418aba9
文章图片
21
这里我们对最新的一个提交点生成标签,但是从提示信息来看并不能进行加密处理。我们需要在加密时使用一个指定的签名,所以实际上标签的加密处理应该这样做:
git tag -u "yjaal" -s v0.9 -m "gpg handle tag" d032312
文章图片
22
命令中我们需要指定之前我们设置的用户,之后会提示我们输入密钥。 注意:这里如果还出现错误,我们需要配置一个环境变量,在系统变量中点击新建:
文章图片
23
之后点击确定,应该就可以了。
此时其他的开发者是不可能修改此标签的。查询此标签:
git show v0.9
文章图片
24 四、标签管理
- 删除标签
git tag -d v1.0
文章图片
25
这样的标签只是进行了本地的删除,我们也可以提交到服务器上去。
- 将标签推送到服务器上
git push origin v0.9
git push origin v0.7
文章图片
26
完成之后我们进行查看
文章图片
27
可以看到
2 releases
,进去
文章图片
28
但是这样一个一个的进行推送很麻烦,下面我们一次性推送多个标签到服务器:
git push origin --tags
- 删除某个标签
git tag -d v0.7
文章图片
29
- 删除服务器上的标签
git push origin :refs/tags/v0.7
文章图片
30 【4、标签管理(git笔记)】最后:这就是标签的基本操作,其实就是为提交点起了个别名,方便我们进行管理。
推荐阅读
- 一个人的碎碎念
- 野营记-第五章|野营记-第五章 讨伐梦魇兽
- Shell-Bash变量与运算符
- 清明,是追思、是传承、是感恩。
- 牛人进化+|牛人进化+ 按自己的意愿过一生
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 七老修复好敏感、角质层薄、红血丝
- 华为旁!大社区、地铁新盘,佳兆业城市广场五期!
- 2020-04-07vue中Axios的封装和API接口的管理
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。