是否有一个良好的PHP git客户端与http支持?

Rad*_*afa 12 php git http client-library

对于我正在进行的项目,我们希望将git用作我们经常修改的某些数据的修订跟踪器.我们正在使用php进行网络前端,我们需要一个goo php git客户端来使用.我在互联网上遇到过一小撮,他们都有同样的限制......

不支持HTTP.我们需要能够推/拉到远程存储库.我们还需要克隆.

理想情况下,我正在寻找一些不使用git命令的东西(即:exepers to exec())但是如果班级运作良好,我愿意解决.我见过一个看起来像我想做的C库,但php语言绑定不完整,http函数标记为实验.

有没有人有任何洞察通过PHP使用git和http?

kbj*_*bjr 9

https://github.com/kbjr/Git.php

Git.php是一个围绕git调用的包装类,它使用proc_open而不是exec运行命令.虽然它没有推/拉方法,但它确实有一个run运行自定义git命令的通用方法,因此它可以使用如下所示:

$repo = Git::open('/path/to/repo');
$repo->run('push origin master');
Run Code Online (Sandbox Code Playgroud)

它还有克隆方法(clone_to以及clone_from进行本地克隆和clone_remote远程克隆的方法).


Pat*_*ick 0

这看起来很有希望:http://gitphp.org(链接已损坏;请参阅存档版本

\n\n

我想这会为你做的。这是它的描述:

\n\n
\n

GitPHP 是 git 存储库的 Web 前端。它模仿标准 gitweb 的外观,但用 PHP 编写,并使用 Smarty 模板进行定制。它有一些额外功能,包括通过 GeSHi PHP 类进行语法突出显示和项目类别支持。它可以与标准 git 以及 Windows 上的 msysgit 一起使用。

\n\n

设置应该相当简单 \xe2\x80\x93 只需将 tarball 解压到要安装的位置,将 config/gitphp.conf.php.example 复制到 config/gitphp.conf.php,然后将 conf 中的项目根设置为指向到你的裸 git 存储库所在的目录,并让 templates_c 目录可被网络服务器写入(如果它\xe2\x80\x99s 还没有)。\n 你可以在 config/gitphp.conf.defaults 中查看所有可用选项和默认值.php,如果您想覆盖默认值,请将选项复制到您的配置文件中。如果您想对项目进行更高级的控制,例如定义项目类别或从文本文件加载项目,您还可以将 config/projects.conf.php.example 复制到 config/projects.conf.php 并对其进行编辑。更详细的说明位于随附的自述文件中。

\n\n

注意:如果您\xe2\x80\x99re升级,您现有的gitphp.conf.php将不会被覆盖,但我建议检查gitphp.conf.defaults.php以获取可能已添加的新配置选项。

\n\n

您可以查看此站点上运行的 Live Copy。

\n
\n

  • 抱歉,我相信这只是一个存储库浏览器,例如 gitweb。它不允许您执行任何命令,而只能浏览文件和历史记录。 (2认同)