如何解决如何按照创建的顺序获取我的 GIT 标签?
我遇到了一个问题,我正在使用 git(版本 2.27.0.windows.1)并且想要排序以便我能够使用最新的。现在得到以下标签列表:
abc_a_r0.1.1
abc_b_r0.1.2
abc_c_r1.2.3
abc_d_r1.2.4
abc_r5.4.9
abc_r6.0.0
abc_r6.0.1
abc_r6.0.10
abc_r6.0.11
abc_r6.0.13
abc_r6.0.14
abc_r6.0.15
abc_r6.0.16
abc_r6.0.2
abc_r6.0.3
abc_r6.0.4
abc_r6.0.5
abc_r6.0.6
abc_r6.0.7
abc_r6.0.8
abc_r6.0.9
如果我使用命令 git describe --tags --match "abc_r*" --abbrev=0
,我将获得 abc_r6.0.9
作为输出,而我希望获得最新的标签 abc_r6.0.16。这变得具有挑战性,因为我的 setup.py 看起来像这样:
from setuptools import setup
from setuptools_scm import get_version
def get_requirements():
with open('requirements.txt') as fd:
return [req for req in fd.read().splitlines() if req[0].isalpha()]
setup(use_scm_version={'version_scheme': 'guess-next-dev','git_describe_command': 'git describe --match "abc_r*"',install_requires=get_requirements(),)
我正在使用该标签来对我们的 python 包进行版本控制。 任何帮助将非常感激。 TIA
解决方法
检查一下 --sort
option of git tag
是否可以提供帮助。
git tag --sort=taggerdate
这将显示从最旧到最新的标签。
或者:
git for-each-ref --format="%(taggerdate): %(refname)" --sort=-taggerdate refs/tags
# or
git for-each-ref --sort=taggerdate --format '%(tag)'
与:
-
--sort=creatordate
适用于 both annotated and unannotated tags。 -
--sort=taggerdate
用于带注释的标签。
正如@VonC 建议的那样:GOOGLE_APPLICATION_CREDENTIALS
有一个 git tag
选项。
此选项有一个特殊值 --sort
(或 version:refname
)用于在标签名称中搜索版本号:
v:refname
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。