Как я могу получить информацию GIT в PHP - PullRequest
0 голосов
/ 04 мая 2018

Я использую:

<?php
ob_start();
$vtag = shell_exec('git describe --tags');
if( is_null($vtag) ) { $vtag =""; }
ob_end_clean();
?>

Чтобы получить версию моего проекта, управляемого GIT, я использую аннотированные теги и могу получить команду для отображения правильной информации при запуске из GIT CMD в Windows 8.1.

В руководстве по PHP ( раздел, предоставленный пользователем ) предлагается использовать Ob_start / end_clean(), чтобы обеспечить получение вывода из консоли std. Но он не производит никакого вывода (или вывода ошибок). есть идеи в чем тут проблема ??

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Я предлагаю использовать для этой задачи некоторую существующую библиотеку - нет смысла заново изобретать колесо. Например cpliakas/git-wrapper:

$gitWrapper = new GitWrapper();
echo $gitWrapper->git('describe --tags', '/path/to/repository');

$repository = $gitWrapper->workingCopy('/path/to/repository'); 
echo $repository->tag();
0 голосов
/ 04 мая 2018

Найдена эта статья , которая помогла мне решить проблему:

Просто чтобы помочь кому-то еще с той же проблемой; вот что я использовал:

$vtag = (string) shell_exec('C:\\PROGRA~1\\Git\\bin\\git describe --tags');

Проблема в том, что exec () нужен путь к исполняемому файлу в каталоге bin, и, что более важно, потому что пользователь в среде WAMP - это каталог Apache (www), в котором нет пути GIT. Помните также (я изначально забыл), чтобы избежать обратной косой черты в Windows.

Надеюсь, это поможет всем остальным. Ура!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...