Номера версий должны иметь достаточно информации, чтобы избежать конфликтов и исправить ошибку в проблемах неправильного типа выпуска, но не должны содержать дополнительную информацию, которая не имеет отношения к делу.
Например, если вы используете дату, клиенты могут сказать, что у них более старая версия, а исправления для старых версий могут иметь запутанные версии.
Мне лично нравится семантическая версия :
- Релизы есть
Major
. Minor
,Patch
Patch
увеличивается каждый раз, когда вы выпускаете сборку.
Minor
увеличивается каждый раз, когда добавляется обратно совместимая функциональность.
Major
увеличивается, когда новая функциональность не имеет обратной совместимости.
- Когда
Major
== 0 вы находитесь в альфа / пре-релиз. Major
> = 1 ваши публичные релизы.
- Нижние числа сбрасываются в 0 при каждом увеличении, поэтому
1.5.3
-> 1.5.4
(исправление ошибки) -> 1.6.0
(дополнительная функция) -> 2.0.0
(критическое изменение)
Таким образом, если кто-то использует, скажем, версию,
1.5.3
он может сразу сказать, что он может обновиться, чтобы
1.5.4
получить исправления, что
1.6.0
добавит функциональность и что он не должен обновляться
2.0.0
(по крайней мере, без обработки изменения).