从远程git存储库中查找最新的git标记

 流血的云_-86097 发布于 2023-01-30 15:27

我必须从远程git存储库获取最新的git标记.我使用以下命令来查找最新的标签

git ls-remote --tags xxxxx@xxxx.xxxx.net:xxxx.git |grep "\."|grep -v -|grep -v {| sort -n -t. -k3 -k4

这给了我以下输出

c8be4313ae8261214acb6d3d41f9ece8d47a4ad5    refs/tags/v0.2.1
9e776cff51a8bb15f0539b852a819723d1e37c69    refs/tags/v0.2.2
ee1f173f4e7da0996af9f7c91e0952bec8c2358b    refs/tags/v0.1.3
5d6777bf2b2e5bae41ae9ab966320c691c1f2ee2    refs/tags/v0.1.4
6d3040673330ed763bc0c1a6e6cd5dbc82392d4f    refs/tags/v0.1.5
4afd29dc48805053be911a85c6da6b195e96e786    refs/tags/v0.1.6
8d5cc76d50b153f836561bb933b1f5ad488748d1    refs/tags/v0.1.7
1c0cdebaed828aaef2897c9240b4440898f70766    refs/tags/v0.1.8
683de590ba8d633c801d2628f4d9de58f9de371a    refs/tags/v0.1.9
925797f07cfc94a3af1f56cdabd856e11b222b78    refs/tags/v0.1.10

但我必须找到 最新创建的v0.2.2.如何找到最新创建的标签(带有最新创建日期的标签).还有其他办法吗?

1 个回答
  • 您可能需要最新标记可访问,而不是最新标记创建:

    git describe --tags --abbrev=0
    

    无论如何,以防你真的需要创建最后一个标签:

    git有两种标签:轻量级和注释.如果你的标签是轻量级的,那么运气不好,你不能这样做,不会跟踪创建日期.如果您可以访问存储远程存储库的文件系统,那么您可以尝试检查/ refs/tags中文件的时间戳 - 但此信息不一定准确(它只是在此特定存储库中创建标记文件的时间戳).

    但是,对于带注释的标签,您可以获得创建日期; 一旦你得到sha(通过ls-tree或其他方式),运行:

    git cat-file -p <sha>
    

    显示标记,消息和创建日期或简单地:

    git show <sha>
    

    另外还显示引用的提交.

    在脚本中使用此信息是可行的(由于日期格式,可能不是微不足道的).

    我打算引用你关于标签的git内部描述,但事实证明,所有这些信息也在ProGit,Git Basics - Tagging上有所描述.

    2023-01-30 15:29 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有