在monorepos中使用版本标签是否有标准?是1.0.0-myapp1
和2.1.0-myapp2
可以接受的吗?或者是否有另一种方法来区分应用程序之间的版本?
答案 0 :(得分: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
如果要避免在检查myapp1的日志时显示“ myapp2的标签”,则可以使用--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