Некоторые проекты поднимают версию до того, как начать новую разработку, в то время как другие проекты сталкиваются с версией при маркировке релиза.
Какой подход лучше?
Если номер версии не изменился в начале нового этапа, разработчики могут забыть изменить его и просто выпустить программу.
Если номер версии изменился до выпуска тегов, то 2 номера версий (tag и Makefile / AssemblyInfo.cs) не совпадают.
git describe
может дать вам v1.2.3.4-15-g1234567, если текущая ревизия - после v1.2.3.4, но вы уже изменили файлы, чтобы иметь v1.2.3.5
источник