如何使用PHP在标题上显示GIT分支名称



我需要在导航栏顶部显示分支名称。有人可以知道如何展示吗?我正在使用Laravel,因此尝试过。

@php
  $rev = exec('git rev-parse --short HEAD');
  echo $rev;
@endphp

请给我适当的选项。

EXEC函数可能有点棘手,如果您不确定从哪里开始,则持有许多不可预见的问题。首先,执行该功能的过程通常在_www用户下不是您的用户帐户。这意味着并非所有程序都可以通过路径环境配置直接访问。其次,我发现某些程序的输出没有明显原因通过标准错误发送。

案例2的一个示例是

$output = `nc -z 127.0.0.1 {$port}`;

Backtick Operator将在使用 shell_exec() fucntion之间执行BASH脚本,并打印完整的输出,与Exec的同行不同。向前推进,我推荐您在脚本末尾附上 2>& 1 命令。这将打印错误输出以及执行数据。

$rev = `git rev-parse --short HEAD 2>&1`;

添加此内容后,您可能会收到另一个错误的错误:

sh: git: command not found

这是您需要在所需程序中添加精确执行路径的时候。您可以使用终端(不在PHP CGI/GUI执行中)和哪个命令

来执行此操作。
>> which git
/usr/bin/git

...

$rev = `/usr/bin/git rev-parse --short HEAD 2>&1`;

以下命令在php

中显示当前分支名称
exec('git symbolic-ref HEAD', $output);
$branches = explode('/', $output[0]);
$branch = end($branches);

,第二个解决方案是

$branch = trim(shell_exec('git rev-parse --abbrev-ref HEAD'));

最新更新