目前,我们的CI基于最新的git标记git describe --tags $(git rev-list --tags --max-count=1)
我们有一个场景,其中远程开发人员正在标记,但标记仅出现在命令
中git describe --abbrev=0
标签未出现在第一个命令中。
答案 0 :(得分:1)
git rev-list --tags
将列出从任何标记可以访问的每个提交,以反向时间顺序。添加--max-count=1
会将输出限制为否则将显示的第一个提交。因此该命令显示具有标记的最新提交。
如果任何用户标记了提交,但它并不比每个已经有标记的提交更新,那么它就不会显示。我猜测,这听起来不错 - 尽管请注意最新的提交,而不是最新的标记。
你的远程开发人员......他的时钟与你当地的时钟同步?
您可以通过添加--topo-order
标志来改善这种情况,这样可以确保在列出所有子项之前无法列出提交。
答案 1 :(得分:0)
有几种方法可以从当前分支中获取git最新标记。我刚才提到的只是简单的方法。
回答你的问题最简单的方法是使用这个将提供最新的git标签
$ git describe --tags
另一种简单的方法,你已经提到过你这样做
$ git describe --tags --abbrev=0