在项目中包含git commit信息

时间:2018-04-26 10:07:05

标签: php git build

我正在研究php项目。是否可以将git集成到项目中,以获得footer

中上次提交的信息

我没有使用构建框架

3 个答案:

答案 0 :(得分:3)

我使用所谓的 git hook 来实现这一目标。钩子就是在特定的git动作上自动执行的脚本。您可能感兴趣的那个叫做 git post commit hook ,这是一个在每次提交后自动执行的脚本。以下是添加一个的方法:

  1. 创建脚本.git/hooks/post-commit

    #!/bin/sh
    git log -1 --format=%cd --date=local > version.txt
    
  2. 使其可执行:

     chmod +x .git/hooks/post-commit
    
  3. 就是这样。现在,在每次提交后,您的version.txt将使用您上次提交的信息进行更新。

答案 1 :(得分:2)

这样做有多种选择,但我认为最好的选择就是在构建过程中进行此操作。

如果您使用的是Jenkins,Bamboo或任何其他CI / CD系统,您可以创建一个任务来检索git提交,并将其保存在应用程序的可读位置。这可能是:

  • 将其设置为配置文件的一部分
  • 将其设置为您可以阅读的环境变量
  • 将其保存在文件中并为每个请求阅读
  • ...

真的,选项是无穷无尽的,但这取决于你构建项目的方式,以及它是如何部署的。如你所见,你并不缺乏选择!

如果您不使用构建系统,那么您可能应该使用构建系统!

但是,您可以通过执行以下操作来获取最新提交:

echo exec('git rev-parse --short HEAD');

这将为您提供短提交哈希。我真的建议使用其中一种替代选项。

答案 2 :(得分:0)

实际上,在没有使用构建

的情况下搜索我发现的内容之后
echo exec('git log -1 --format=%cd --date=local');

这将显示上次提交的时间和日期