#javascript #php #jquery #git #git-commit
#javascript #php #jquery #git #git-фиксация
Вопрос:
Проблема
Я работал над проектом, в котором QAs сообщают об ошибках, которые уже исправлены. Так часто оказывается, что у QAs нет нашего последнего кода.
Решение
Теперь я думаю захватить текущую фиксацию и отобразить ее на 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, но при моей настройке контроля качества они получили null
.
Вопросы
Что я сделал не так?
Есть ли другой способ сделать это?
На данный момент я открыт для любых предложений. 🙂
Ответ №1:
git
ожидается, что он будет вызван из дерева рабочих каталогов Git, как, предположительно, это было, когда вы выполняли его из командной строки. PHP-скрипты изначально устанавливают PWD
переменную среды родительского рабочего каталога в каталог, в котором находится скрипт, и это то же самое для выполнения команды (exec, shell_exec, system, passthru). Вы можете изменить каталог из PHP с помощью chdir или изменить команду на
cd /path/to/git/repo amp;amp; git rev-parse --verify HEAD