抓取项目的当前提交并显示它

Grab the current commit of a project and display it

问题

我正在从事一个项目,其中 QA 报告已修复的错误。 很多时候,结果 QA 没有我们最新的代码。


解决方案

现在,我正在考虑获取当前提交并将其显示在 console 或其他页面上,以供我们 QA 和开发人员参考。


尝试过

在 CLI 中,为了获得最新的提交,我只是这样做

git rev-parse --verify HEAD

我试过创建一个 PHP 函数,然后调用它。

public function info(){
    return str_replace('\n','', json_encode(shell_exec('git rev-parse --verify HEAD')));
}

结果

它在我的 Mac 上运行良好,但在我的 QA 设置上,他们得到了 null


问题

我做错了什么?

还有其他方法吗?

目前我愿意接受任何建议。 :)

git 预计会从 Git 工作目录树中调用,就像您从命令行执行它时一样。 PHP 脚本最初将 PWD 父工作目录环境变量设置为脚本所在的目录,对于命令执行(exec、shell_exec、系统、passthru)也是如此。您可以使用 chdir 从 PHP 中更改目录,或将命令更改为

cd /path/to/git/repo && git rev-parse --verify HEAD