如何按照GIT标记的创建顺序获取它们?

如何按照GIT标记的创建顺序获取它们?,git,versioning,setuptools,setup.py,git-tag,Git,Versioning,Setuptools,Setup.py,Git Tag,我在使用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.

我在使用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 descripe--tags--match“abc_r*”--abbrev=0
我将得到
abc_r6.0.9
作为输出,而我希望得到最新的标记,即abc_r6.0.16。由于my 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

首先检查是否有帮助

我提到

这将显示从最早到最近的标记

或者:

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

  • --sort=creatordate
    适用于
  • --sort=taggerdate
    用于带注释的标记
首先检查是否有帮助

我提到

这将显示从最早到最近的标记

或者:

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

  • --sort=creatordate
    适用于
  • --sort=taggerdate
    用于带注释的标记

    • 正如@VonC所建议的:
      git标签
      有一个
      --sort
      选项

      此选项有一个特殊值
      version:refname
      (或
      v:refname
      ),用于在标记名中搜索版本号:

      git tag --sort=v:refname
      
      # add '-' if you want them in descending order (biggest version first) :
      git tag --sort=-v:refname
      

      正如@VonC所建议的:
      git标签
      有一个
      --sort
      选项

      此选项有一个特殊值
      version:refname
      (或
      v:refname
      ),用于在标记名中搜索版本号:

      git tag --sort=v:refname
      
      # add '-' if you want them in descending order (biggest version first) :
      git tag --sort=-v:refname
      

      尝试按
      creatordate
      对标记进行排序:

      git for-each-ref --sort=creatordate --format '%(refname) %(creatordate)' refs/tags
      

      尝试按
      creatordate
      对标记进行排序:

      git for-each-ref --sort=creatordate --format '%(refname) %(creatordate)' refs/tags
      

      要显示候选人的必要信息,请执行以下操作:
      git log--graph--decoration refs=refs/tags/abc_r6*--oneline--decoration简化
      git show-s--pretty=fuller abc_r6.0.9
      git show-s--pretty=fuller abc_r6.0.16
      ,然后发布结果。要显示候选人的必要信息,请执行以下操作:
      git log--graph--decoration refs=refs/tags/abc_r6*--oneline--simplify by decoration
      git show--s--pretty=fuller abc_r6.0.9
      git show--s--pretty=fuller abc_r6.0.16
      ,然后发布结果。是的,我在中记录了
      v:refname
      。但是,如果您想要最新的,就像最近创建的一样,我更喜欢
      --sort=taggerdate
      ,以避免依赖可能不总是严格遵守的命名约定。是的,我在中记录了
      v:refname
      。但是,如果您想要最新的,就像最近创建的一样,我更喜欢
      --sort=taggerdate
      ,这样就不会依赖可能并不总是严格遵守的命名约定。这似乎与VonC一小时前写的内容相同?这似乎与VonC一小时前写的内容相同?