如何让git describe仅返回标签与超前提交数而非提交ID?
如何让git describe仅返回标签+超前提交次数部分
当然可以实现,而且Git本身就支持这个需求,完全不用复杂命令,只需要给git describe添加一个参数就行:
git describe --abbrev=0
这个参数的作用是把提交哈希的缩写长度设为0,直接省略掉末尾的-gfca019a部分,刚好得到你要的2.1.0-4格式。如果当前提交刚好在某个标签上(没有超前提交),这个命令会直接返回标签名(比如2.1.0),也符合预期。
要是你遇到某些特殊场景(比如Git版本过旧不支持该参数,不过这种情况很少见),也可以用文本处理命令截断,比如:
git describe | sed 's/-g[0-9a-f]*$//'
但优先推荐用Git自带的--abbrev=0参数,更简洁可靠。
内容的提问来源于stack exchange,提问作者EsseTi
相关产品推荐
相关产品推荐

