Монорепо Версия Теги Условные обозначения

Существует ли стандарт для использования тегов версий в monorepos? Это что-то вроде 1.0.0-myapp1, а также 2.1.0-myapp2 приемлемый? Или есть другой способ разграничить версии между приложениями?

0 ответов

tags организованы в каталогах и файлах (все ссылки git, запустите tree .git/refs/tags чтобы увидеть это), поэтому я бы предложил назвать теги:

myapp1/1.0.0
myapp1/1.0.1
 ...
myapp2/2.1.0
myapp2/2.2.0
 ...

Это сгруппирует версии для каждого приложения вместе, и некоторые команды будут обрабатывать числа "естественно":

# list tags, sorted by version number :
$ git tag --list --sort="version:refname"
myapp1/1.0.2
myapp1/1.0.10
myapp1/2.0.0
myapp1/10.0.0
myapp2/1.0.0
myapp2/2.0.0
myapp2/11.0.0

Если вы хотите избежать появления "тегов для myapp2" при просмотре журнала для myapp1, вы можете использовать --decorate-refs=<pattern>:

# this will include tags starting with 'myapp1', and all branches :
$ git log --oneline --graph --decorate-refs=refs/tags/myapp1 --decorate-refs=refs/heads

Если вам это нужно регулярно, вы можете добавить для него псевдоним:

$ git config alias.logmyapp1 log --decorate-...
Другие вопросы по тегам