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.7  7759687 -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) <yjjal1314@gmail.com>(用户名 注释 邮箱)。

  • 为了方便,最好还生成一张撤销的证书,为的是以后如果密钥过期,可以通过服务器进行撤销。
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

最后:这就是标签的基本操作,其实就是为提交点起了个别名,方便我们进行管理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,626评论 9 163
  • GIT分布式版本控制系统最佳实践 这篇文章来自于老男孩教育高级架构师班12期的徐亮偉同学。 首先感谢老男孩架构师班...
    meng_philip123阅读 3,391评论 4 36
  • 本文为 Git教程的学习笔记,教程源自廖雪峰的博客。这是一个由浅入深,学完后能立刻上手的Git教程。另,附上另一本...
    七弦桐语阅读 6,231评论 5 47
  • 远程仓库 到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题...
    归云丶阅读 1,956评论 0 5
  • 今天下雨了,宝贝没来接妈咪。一回到家奶奶说今天挺乖的,下午还自己睡觉了。 那天在大V店买的书到了,数一数,亲了几下...
    忆记阅读 480评论 0 1