Alguns projetos batem versão antes de iniciar um novo desenvolvimento, enquanto outros projetos batem versão ao marcar uma liberação.
Qual abordagem é melhor?
Se o número da versão não for alterado no início da nova fase, os desenvolvedores podem esquecer de alterá-lo e simplesmente lançar o programa.
Se o número da versão foi alterado antes da liberação da marcação, 2 os números da versão (tag e Makefile / AssemblyInfo.cs) não coincidem.
git describe
pode fornecer a v1.2.3.4-15-g1234567 se a revisão atual for posterior à v1.2.3.4, mas você já alterou os arquivos para a v1.2.3.5
fonte