【问题标题】:How to parse the response from git log ? I need to get the commit hash and the commit message如何解析来自 git log 的响应?我需要获取提交哈希和提交消息
【发布时间】:2016-04-12 18:33:26
【问题描述】:

我正在使用 shell_exec() 函数从 php 执行命令“git log”并得到以下响应。如何解析响应并获取提交哈希和提交消息?

提交 baedfa411c58584c4a98f3a632b7f3231500f92c 作者:XYZ 日期:2016 年 4 月 12 日星期二 23:04:33 +0530 提交第三次提交 提交 251654c5f6f256fe6e23c2c85f1a70594aae00d4 作者:XYZ 日期:2016 年 4 月 12 日星期二 22:37:21 +0530 提交第二次提交 提交 3be3198a20d902e24e6b187cd0666ed0d5ee6c4d 作者:XYZ 日期:2016 年 4 月 12 日星期二 22:34:31 +0530 初始提交

【问题讨论】:

  • 不要从git log 的输出中解析任何内容,因为它可能会在未来的 Git 版本中发生变化。改用 git rev-list 等较低级别的 Git 命令。

标签: php git parsing preg-match-all


【解决方案1】:

使用git log --oneline 代替git log

【讨论】:

    【解决方案2】:

    你可以做下一个:

    git log --oneline --format="%H %s"
    

    如果您需要在 php 中使用此输出,您可以在值之间添加一些键,并在每一行中使用 explode() 来获取值。例如:

    git log --oneline --format=%H:::%s
    

    :::是分隔符,在php中使用会爆炸。

    希望对你有帮助 :D

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-29
      • 2011-07-09
      • 2018-09-22
      • 2021-06-13
      • 2017-04-11
      • 1970-01-01
      • 2023-03-16
      相关资源
      最近更新 更多