通过 PHP 执行 git 命令

2022-08-30 22:18:38

git命令如何像php一样并使用php执行?git add .git commit -m

它适用于创建集中式存储库设施以维护学术项目的项目。

exec() 似乎不起作用。

<?php
$path = "/var/www/repos/$_POST[project]"; 
$a='';
chdir($path);
exec("git add .");  
exec("git commit -m'message'");
echo "<h3 align = center> Succesfully commited all the files.</h3>";
?>

答案 1

这绝对是可能的。我在我的一个项目中实现了它。但是,您应该小心权限。

在 linux 上,通常,命令将使用用户执行。因此,您应该允许在工作目录上写入和读取。execwww-datawww-data

一种快速而肮脏的方法是:chmod o+rw -R git_directory


答案 2

还有另一种解决方案,那就是简单地使用像这样php反引号

$message = `git log -1 --pretty=%B`; // get commit message

$deploy_tag = `git describe --tags`; // get commit tags

$hash = `git log -1 --pretty=%h`; // get the hash

推荐