分布式版本控制系统六
Git基础| 标签管理
查看标签
使用git tag
是查看所有的标签:
$ git的标签
V0.2
V1.0 ```
这个命令以字母顺序输出结果的。
#### 创建标签
使用` git tag <名称> `命令,是创建标签最简单的方式。例如:
```代码
$ git的标签v1.2的```
使用` git的标签`查看标签
```代码
$ git的标签
V0.2
V1.0
V1.2 ```
这个命令,默认标签是打在最新提交的 `commit` 上的。这种方式打的标签属于轻量标签(lightweight)。
轻量标签(lightweight): 是一个特定提交的引用。
还有一个标签是带注释的标签,就是附注标签(annotated)。附注标签(annotated) 是存储在 Git 数据库的一个完整对象。创建附注标签,Git 会创建一个标签对象,然后编写一个引用以指向该对象,而不是直接指向提交。
附注标签,可以使用 `git tag`,用 `-a` 指定标签名,`-m` 指定说明文字:
```code
$ git tag -a v1.2.1 -m "change version"
$ git tag
v0.2
V1.0
V1.2
V1.2.1 ```
如果没有为附注标签指定一条信息,Git 会运行编辑器要求输入信息。
这时可以通过 `git show` 查看标签的信息与对应的提交信息:
```code
$ git show v1.2.1
tag v1.2.1
Tagger: 大梦三千秋 <yiluolion@gmail.com>
Date: Sat Feb 8 19:39:26 2020 +0800
change version
commit 17a7565ace9d89ad1deb1a0974de053e68455767 (HEAD -> master, tag: v1.2.1, tag: v1.2)
Merge: 4ca343d f6e0cfb
Author: 大梦三千秋 <yiluolion@gmail.com>
Date: Thu Feb 6 16:59:56 2020 +0800
Fix issue 008 and update
这里输出的信息,包括打标签者的信息,打标签的日期时间,注释信息,然后就是显示具体提交的信息。
补充标签
因为打标签,默认是打在最新提交的commit上的。若是有时候,忘记打标签,可以在后续补充打标签。
方法是找到历史提交的commit id,然后补充打上去:
$ git log --pretty = oneline --abbrev-commit
17a7565(HEAD-> master,标签:v1.2.1,标签:v1.2)修复问题008和更新
4ca343d修复问题008
f6e0cfb(标签:v1 .0,开发人员)更新readme.md。
24c7079(标记:v0.2)合并分支
30e4b10合并分支'
dev'80565d0重命名文件
ebbd604添加DM_FILE
b815ff0更新readme.txt。```
假设要对`加DM_FILE `这次提交打标签,对应的提交ID是` ebbd604 `,只要输入如下的命令即可补充标签:
```code
$ git tag -a v0.1 ebbd604
$ git tag
v0.1
v0.2
v1.0
v1.2
$ git show v0.1
tag v0.1
Tagger: 大梦三千秋 <yiluolion@gmail.com>
Date: Sat Feb 8 19:48:50 2020 +0800
version 0.1
commit ebbd604310d486a39062c378dff2f9242f10b381 (tag: v0.1)
Author: 大梦三千秋 <rhythmgolion@gmail.com>
Date: Thu Feb 6 14:51:31 2020 +0800
add DM_FILE
...
推动标签
默认情况下,GIT中推
命令并不会传送标签到远程仓库服务器上面。创建完标签后,必须显式地推送标签到共享服务器上。
使用git push <remote> <tagname>
进行推进:
$混帐推股份公司V1.2.1
枚举对象:1,完成。
计数对象:已完成100%(1/1)。
写入对象:100%(1/1),183个字节| 已完成61.00 KiB / s
总计1(增量0),再使用0(增量0)
远程:版本GITEE.COM [GNK-3.8]
为了gitee.com:damengsanqianqiu/about_git.git
* [新标签] V1.2.1 - > V1.2.1 `` `
若是,一次性推送全部尚未推送到远程的本地标签,使用` git的推<远程> --tags `:
```code
$ git push ag --tags
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 476 bytes | 158.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-3.8]
To gitee.com:damengsanqianqiu/about_git.git
* [new tag] v0.1 -> v0.1
* [new tag] v0.2 -> v0.2
* [new tag] v1.0 -> v1.0
删除标签
如果标签打错的情况下,是可以删除的,使用下面的命令即可:
$ git的标签-d V0.2
删除标签'V0.2'(是5f3b0c7)```
这里需要注意,这个操作并不会同步删除已经推送到远程的标签。这时候必须使用下面的命令 `git push <remote> :refs/tags/<tagname>` 来更新远程仓库:
```code
$ git push ag :refs/tags/v0.2
remote: Powered by GITEE.COM [GNK-3.8]
To gitee.com:damengsanqianqiu/about_git.git
- [deleted] v0.2
总结
- 命令
git的标签
可以查看所有标签。2。命令GIT中标记<标记名>
用于创建轻量标签;3.命令git的标签-a <标记名> -m “blablabla ...”
可以指定标签信息,创建注释标签; 4.命令git的推<远程> <tagnmae>
引导本地标签到远程;5.命令git的推<远程> --tags
推出全部未推送到远程的标签;6。命令git的标签-d <标记名>
可以删除一个本地标签;7.命令git的推<远程>:参考文献/标签/ <标记名>
可以删除一个远程标签。
以上就是本篇的主要内容