如何按照GIT标记的创建顺序获取它们?
我在使用git(版本2.27.0.windows.1)时遇到了一个问题,我希望进行排序,以便能够使用最新版本。现在获得了以下标签列表:如何按照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.
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一小时前写的内容相同?