Rad*_*afa 12 php git http client-library
对于我正在进行的项目,我们希望将git用作我们经常修改的某些数据的修订跟踪器.我们正在使用php进行网络前端,我们需要一个goo php git客户端来使用.我在互联网上遇到过一小撮,他们都有同样的限制......
不支持HTTP.我们需要能够推/拉到远程存储库.我们还需要克隆.
理想情况下,我正在寻找一些不使用git命令的东西(即:exepers to exec())但是如果班级运作良好,我愿意解决.我见过一个看起来像我想做的C库,但php语言绑定不完整,http函数标记为实验.
有没有人有任何洞察通过PHP使用git和http?
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
远程克隆的方法).
这看起来很有希望:http://gitphp.org(链接已损坏;请参阅存档版本)
\n\n我想这会为你做的。这是它的描述:
\n\n\n\nGitPHP 是 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
归档时间: |
|
查看次数: |
11521 次 |
最近记录: |