git笔记:通过给grunt-inline打tag看tag操作
晚上review了下grunt-inline的issues,看到有个兄弟pull request,修正了0.3.0
版本的一个bug。于是就merge了下,然后发布了0.3.1
版本(这里)。
npm publish
后,突然想到一个问题,发布了这么多个版本了,但好像都没有打过tag,这个不利于版本回溯以及bug trace。svn版本管理里有tag的概念,git里八九不离十也有,虽然还没用过。就简单百度了下,打完tag后顺便做下笔记:
查看tag
git tag
比如我在grunt-inline
的项目下运行这个命令,输出如下
casperchenMacBookPro:grunt-inline casperchen$ git tag
0.3.0
0.3.1
v0.3.0
添加tag
tag分为两种,分别是轻量级(lighted)tag和附注(annotated)标签。我们通常采用后面这一种。
1. 根据最新版本创建tag
比如merge了PR后,想要给最新的版本0.3.1
打个tag,可用如下命令
git tag -a v0.3.1 -m '版本0.3.1的tag'
几个参数简单解释下
-a annotated的意思,标识tag的类型
v0.3.1 tag版本
-m 注释信息
2. 根据特定版本创建tag
有的时候,我们想要给历史版本打tag。比如给grunt-inline
打完0.3.1的tag后,我想顺道给之前的0.3.0
版本打个tag。该怎么做呢。
首先需要知道该提交版本的校验和,可以通过git log
获得。比如我们运行git log
后,输出如下信息
commit 96770ddb62efc6ac58d4c71da0f346867f1e24de
Author: chyingp <chyingp@gmail.com>
Date: Sun Jun 15 21:25:36 2014 +0800
update README and package.json after merge a PR
然后,可以针对该次提交打tag
git tag -a v0.3.0 96770ddb62efc6ac58d4c71da0f346867f1e24de -m '版本0.3.0的tag'
删除tag
命令很简单,加上-d
参数即可
git tag -d v0.3.1
发布tag
默认情况下,git push
的时候,不会把本地打的tag也提交到git hub,需要手动推送。
1. 发布所有tag
git push origin –tags
2. 发布特定tag
it push origin v0.3.1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义