javascript - 获取项目的当前提交并显示它

标签 javascript php jquery git git-commit

问题

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

<小时/>

解决方案

现在,我正在考虑获取当前提交并将其显示在控制台或其他页面上,以供我们 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、system、passthru)相同。您可以使用 chdir 在 PHP 中更改目录或将命令更改为

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

关于javascript - 获取项目的当前提交并显示它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39772649/

相关文章:

javascript - 在 webpack.ProvidePlugin on webpack 中包含 jQuery 数据表

php - mysqli_stmt_bind_result 有什么优点?

php - == 字符串运算符

javascript - findIndex 的 IE 替代品?

javascript - 2个脚本(FitVids.js、Vimeo.js)一起kill 调用一个播放视频的函数,导致: VimeoAPI is not a function

javascript - jquery 目标空白不起作用

javascript - 返回基于对象键值对的字符串

javascript - 为什么这个 Javascript/HTML5 Canvas 不起作用?

php - 检查站点的首次访问

javascript - 使用 jQuery .load() 加载的内容不起作用