通过另一个php应用程序将我的项目推送到Github存储库中

Push my project into Git hub repository via another php application

本文关键字:Github 存储 项目 另一个 php 应用程序 我的      更新时间:2023-09-26

我已经准备好了html5/javascript/php应用程序。我想通过我现有的应用程序将我的一些其他项目推送到github存储库中。

因此,我想从我现有的应用程序中完成所有创建repo(stagecommitpushupdate)的步骤。

我该怎么做?

由于您使用PHP,PHP可以通过execsystem调用外部命令,然后使用这些函数调用带有参数的Git命令(例如,您需要的存储库)并获取结果(例如,如果失败)。

我使用了类似的东西为客户端制作了一个Subversion web应用程序。

例如,让HTML/JavaScript创建一个界面,用户可以在其中设置存储库参数和自变量,并将其传递(或发布)到PHP。然后,PHP将使用execsystem(当然还有必要的验证和转义)为存储库调用Git命令,并将结果返回到PHP,然后从PHP返回到JS应用程序(例如通过AJAX)。

进一步信息:如果Git命令需要花费一些时间才能完成(超时,或需要与远程存储库通信等),解决方案是使用中央数据管理(例如,只有一个表pending_processes的数据库),如下所示:

让JS将Git请求发布到PHP,让PHP为当前进程的pending_processesDB表添加一个条目,并将其status设置为pending。让PHP返回这个(Git)进程的id。使用相同的PHP脚本,使用exec(或system)(fork and)执行Git命令并等待(或轮询)Git命令完成。当Git完成时,相同的(分叉的)PHP脚本会将该过程的中央DB表更新为新的status(例如completedfailed,任何适合您的需求和用例的)。可选地,它可以添加Git命令的结果或输出。

同时让JS通过另一个PHP脚本轮询(例如通过Ajax调用)该命令的status,该脚本只接受id并检查该进程的status的中央进程表。如果statuscompleted,它可以选择将输出或结果取回JS应用程序。然后JS将向用户显示命令的结果。

希望这对你有帮助。这可能是一个复杂的应用程序,需要同步不同级别的web堆栈(即client/server/php/js/gti等)中的不同部分。因此,诀窍是要有一个大致的大纲和方案,从简单开始,然后逐步构建更复杂的交互。