在单体代码库(monorepo)中,使用版本标签(tag)有没有标准?类似于 1.0.0-myapp1
和 2.1.0-myapp2
这样的方式是否可接受?还是有其他区分应用程序版本的方法?
在单体代码库(monorepo)中,使用版本标签(tag)有没有标准?类似于 1.0.0-myapp1
和 2.1.0-myapp2
这样的方式是否可接受?还是有其他区分应用程序版本的方法?
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
git log
命令和--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-...