使git show以机器可解析的格式显示信息

使git show以机器可解析的格式显示信息,git,git-show,Git,Git Show,我读过,但那没有帮助。我正在尝试获取有关git标记的以下信息 创建标记的用户 与标记创建关联的消息(如果有) 标记的名称(我知道这一点,因为我已经传递了它),但我希望它们出现在输出中,这样我就可以将整个输出传递回调用方 该标记上的最新提交id 我更喜欢将它们作为csv或空格/制表符分隔的值,因此我尝试使用--format选项。我在尝试类似的事情 git show my_label_name --pretty=format:"%an, %cn" --quiet 但这并不能产生我想要的。有人能帮

我读过,但那没有帮助。我正在尝试获取有关git标记的以下信息

  • 创建标记的用户
  • 与标记创建关联的消息(如果有)
  • 标记的名称(我知道这一点,因为我已经传递了它),但我希望它们出现在输出中,这样我就可以将整个输出传递回调用方
  • 该标记上的最新提交id
  • 我更喜欢将它们作为csv或空格/制表符分隔的值,因此我尝试使用--format选项。我在尝试类似的事情

     git show my_label_name --pretty=format:"%an, %cn" --quiet
    
    但这并不能产生我想要的。有人能帮我吗?

    git cat file tag
    
    git cat-file tag <tag_name>
    
    将为您提供表示该标记的文件的实际内容(有助于解压缩)

    例子
    $git init
    $touch自述文件
    $git添加自述文件
    $git commit-m“初始提交”
    $git tag-a foo-m'Tagging foo'
    $git cat文件标记foo
    对象91654534f5ac138a3adb56a9e6dc3bacae5bae53
    类型提交
    泰富
    tagger Peter Lundgren 1369779403-0400
    标记foo
    
    这台机器可以解析吗?i、 我必须解析每一行。我在想git本身是否应该支持json、csv、tab或换行符分隔的输出,git会解析它;这就是git存储这些数据的方式。
    $ git init
    $ touch README
    $ git add README
    $ git commit -m 'Initial commit'
    $ git tag -a foo -m 'Tagging foo'
    $ git cat-file tag foo
    object 91654534f5ac138a3adb56a9e6dc3bacae5bae53
    type commit
    tag foo
    tagger Peter Lundgren <peter@peterlundgren.com> 1369779403 -0400
    
    Tagging foo