【发布时间】:2015-11-22 03:38:56
【问题描述】:
我编写了一个函数,它使用 git 带注释的标签来为我的项目创建新版本和/或碰撞 semver 样式的版本号。
我在添加单元测试的过程中,注意到git describe --abbrev=0 无法检索到最新的标签,只有当几个git tag -a <tag> -m <msg> 依次运行时。
我认为这与为同一提交创建的这些标签有关,但我认为 annotated 标签不应该是这种情况。
预期行为:
git tag 1 -m v1; sleep 1; git tag 2 -m v2; sleep 1; git tag 3 -m v3
git describe --abbrev=0
3
重现问题:
git tag 1 -m v1; git tag 2 -m v2; git tag 3 -m v3
git describe --abbrev=0
1
【问题讨论】:
-
如果他们都引用同一个提交,
1是一个完全有效的描述。当找到多个描述时,git会根据order that they're found显示the first of them。 -
这是我从其他类似答案中收集到的,但如果您运行描述中给出的示例,一个有效,另一个无效。
标签: git shell unit-testing git-tag