我仍然是git的新手。当我在任何软件包上执行 git clone ... 时,它主要从主分支下载。
我的理解是主分支应包含开发和发布代码 如果是这样,是否可以从下载的主分支中找到最新(生产)版本?
答案 0 :(得分:3)
如果每个版本都标有带注释的标记,则git describe
就是您所需要的(来自手册页):
git-describe - 显示可从提交
访问的最新标记
如果您上次发布的版本是2.6.9
,git describe
将为您提供以下输出:
2.6.9-<NUMCOMMITS>-g<CURRENTREV>
如果您当前的分支直接指向2.6.9
,则不会打印NUMCOMMITS
和CURRENTREV
,该命令只会生成2.6.9
。
但是,如果你在2.6.9
之后做了一些提交(例如3),NUMCOMMITS
将是3
而CURRENTREV
将是缩写的最后提交哈希的7个字符(例如2597536
):
2.6.9-3-g2597536
使用--tags
开关可以实现相同的未注释标签:
git describe --tags
答案 1 :(得分:1)
OP准备in the comments&#34;发布版本&#34;不是在回购中有二进制文件(交付),而是获取用于生成交付的版本。
仅仅{p>git tag
并不合适,因为订单并不总是恰当的。
然而,正如我在&#34; How to sort git tags?&#34;中解释的那样,这将给出正确的顺序(使用git 2.0 +)
git tag -l --sort=refname "v*"
# or
git tag -l --sort=version:refname "v*"
v17
v16
...
v9
...
v1