git describe 生成版本号

本文介绍了如何利用git describe命令生成基于语义化版本的版本号,包括如何显示提交次数、commit ID以及在特定条件下如何自定义版本信息。在源码被修改时,--dirty选项会添加-dirty标识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

语义化版本与 git describe

清晰的 tag 版本信息,不但有助于发布版本的选择和回滚,同时能十分方便的查看到分支的版本提交进度。

# git describe master --tags
v0.5.1-220-g10623a702

它表明,本地 master 分支当前 commit hash 为 10623a702。

git describe

如果符合条件的tag指向最新提交则只是显示tag的名字
否则会有相关的后缀来描述该tag之后有多少次提交以及最新的提交commit id

# git describe master
v0.4.0-80-gcae24a22

这个字符串可以作为快照的名字,方便人们理解。
1、80:表示自打tag v0.4.0以来有80次提交(commit)
2、gcae24a22:g 为git的缩写,在多种管理工具并存的环境中很有用处
3、cae24a22:表示为最新提交的commit id 前几位

复杂点的命令,就是多加入一些参数:

# git describe --always --match=NeVeRmAtCh --dirty
cae24a22-dirty
  • –always
    Show uniquely abbreviated commit object as fallback.
    会获取最近的 commitID

  • –match
    仅考虑与给定模式匹配的标记
    如下举例,如果没有匹配到,就会去掉前面的tag和提交次数等信息:

    # git describe --always  --dirty
    v0.4.0-80-gcae24a22-dirty
    # git describe --always
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西京刀客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值