开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第35天,点击查看活动详情
Git是当前最先进、最主流的分布式版本控制系统,免费、开源!核心能力就是版本控制。“标签”可以理解为某个特定提交记录的“引用”别名,常用于标记版本。
标签管理
标签(Tags)指的是某个分支某个特定时间点的状态,是对某一个提交记录的的固定“指针”引用。一经创建,不可移动,存储在工作区根目录下.git\refs\tags。可以理解为某一次提交(编号)的别名,常用来标记版本。所以发布时,一般都会打一个版本标签,作为该版本的快照,指向对应提交commit。
当项目达到一个关键节点,希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签。比如我们今天终于完成了V1.1版本的开发、测试,并成功上线了,那就可给今天最后这个提交打一个标签“V1.1”,便于版本管理。
默认标签是打在最新提交的commit上的,如果希望在指定的提交上打标签则带上提交编号(commit id):git tag v0.9 f52c633
| 指令 | 描述 |
|---|---|
| git tag | 查看标签列表 |
| git tag -l 'a*' | 查看名称是“a”开头的标签列表,带查询参数 |
| git show [tagname] | 查看标签信息 |
| git tag [tagname] | 创建一个标签,默认标签是打在最新提交的commit上的 |
| git tag [tagname] [commit id] | 新建一个tag在指定commit上 |
| git tag -a v5.1 -m'v5.1版本' | 创建标签v5.1.1039,-a指定标签名,-m指定说明文字 |
| git tag -d [tagname] | 删除本地标签 |
| git checkout v5.1.1039 | 切换标签,同切换分支 |
| git push [remote] v5.1 | 推送标签,标签不会默认随代码推送推送到服务端 |
| git push [remote] --tags | 提交所有tag |
如果要推送某个标签到远程,使用命令git push origin [tagname],或者,一次性推送全部到远程:git push origin --tags
📢注意:标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签。
用指令 git tag [tagname] [commit id]在制定的提交上创建标签,如果省略[commit id],则在当前分支的最新提交上创建标签。
# tag
$ git tag -a 'v1' -m'v1版本'
$ cat .git/refs/tags/v1
a2e2c9caea35e176cf61e96ad9d5a929cfb82461
# 查看标签列表
$ git tag
v1
#查看标签详细信息
$ git show v1
tag v1
Tagger: Kanding <123anding@163.com>
Date: Sun Dec 11 17:58:52 2022 +0800
v1版本
commit 8f4244550c2b6c23a543b741c362b13768442090 (tag: v1)
Author: Kanding <123anding@163.com>
Date: Sun Dec 11 16:17:28 2022 +0800
Update README.md
diff --git a/README.md b/README.md
index fec4af3..1bb22dd 100644
--- a/README.md
+++ b/README.md
@@ -26,3 +26,4 @@ bug:修复报表导出bug
## server edit
## s2
+## s3
推送标签到远程服务器端:git push v1,或者推送所有标签到服务端:git push --tags
参考资料
- 博客园 | 深入浅出Git教程
- 猴子都能懂的GIT入门
- 廖雪峰的GIT教程
- 电子书《ProGit-Git教程》
- Gitee码云的 Git 大全,真的挺全
- 敏捷过程实践-git代码分支管理规范
- 易百教程-Git教程?
- 在线Git学习+练习
- GUI Clients Git网站上的GUI工具列表
- Git常用指令集合🔥🔥
©️版权申明:版权所有@安木夕,本文内容仅供学习,欢迎指正、交流,转载请注明出处!