如何在实现新功能时从 git-describe 管理版本?

How to manage version from git-describe when implementing a new feature?

我正在开发这个项目:

* a3bde21 (feature)
* bdf3b22
* 5a4d8e9 (master, tag: v0.1.0)
* 47312aa
* abd2111

所以git describe会给我v0.1.0。问题是我正在实现一个不再是 v0.1.0 的功能。如果我构建我的程序并将可执行文件提供给某人,它会认为它是 v0.1.0,但事实并非如此。

所以我可以关注 semver 并添加内部版本号:

0.1.0+a3bde21

但是还是看成0.1.0版本吗。

我该如何解决这个问题?

您可以查看 GitVersion. It is far more powerful and configurable than git describe. It generates semver 兼容的版本号。