微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何按照创建的顺序获取我的 GIT 标签?

如何解决如何按照创建的顺序获取我的 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 是否可以提供帮助。

我提到了taggerdate before

git tag --sort=taggerdate

这将显示从最旧到最新的标签。

或者:

git for-each-ref --format="%(taggerdate): %(refname)" --sort=-taggerdate refs/tags
# or
git for-each-ref --sort=taggerdate --format '%(tag)'

与:

,

正如@VonC 建议的那样:GOOGLE_APPLICATION_CREDENTIALS 有一个 git tag 选项。

此选项有一个特殊值 --sort(或 version:refname)用于在标签名称中搜索版本号:

v:refname

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。