如何查看最新的 git 标签匹配版本号

How to checkout latest git tag matching version number

据我所知,

git checkout tags/0.1.1 将签出标记有该版本的第一个提交。如何以编程方式签出标记有版本 0.1.1 的最新提交?我用相同的版本号进行了多次提交,如果我在 master 上键入 git describe --tags,我会得到 0.1.1-3-g18562f7。我可以执行 git checkout tags/0.1.1-3-g18562f7 到达那里,但我不知道如何详细列出标签以便能够找到这样一个自动生成的标签; git taggit show-ref --tags 等只显示用户定义的标签,例如

(base) elsphim-4176391:dude holmes5$ git tag                                                   
0.0.1
0.1.0
0.1.1

我不知道在哪里可以找到自动递增的构建标签列表 git 在您不递增版本号时生成。

没有您可以使用 Git 命令列出的自动生成的构建标签。

git describe --tagsmaster 上回答 0.1.1-3-g18562f7 时,则表示:

  • master 实际上指向提交 18562f7,
  • 该提交之前最近的标记是 0.1.1
  • 并且 master 处的提交图比标记 0.1.1 处的图有 3 次提交。

在你的情况下,这可能意味着你有这样的历史:

--o--o--A--B--C       <- branch master
     ^
     |
     tag: 0.1.1

ABC的名称不能单独用标签名表示。您必须对 A 使用 master~2,对 B 使用 master~,对 C 使用 master,或者您已经知道提交 ID,那么您不需要标签名称(也不是分支名称)来处理提交。