Javascript 通过另一个php应用程序将我的项目推入Git hub存储库

Javascript 通过另一个php应用程序将我的项目推入Git hub存储库,javascript,php,github,Javascript,Php,Github,我已经准备好了一个html5/javascript/php应用程序。我想通过现有的应用程序将我的一些其他项目推送到github存储库中 因此,我想从现有应用程序中执行所有创建repo stage、提交、推送和更新步骤 我该怎么做呢?由于您使用PHP,PHP可以通过或调用外部命令,然后使用这些函数调用带有参数的Git命令,例如您需要的存储库,并在失败时获取结果 我使用类似的方法为客户机制作了一个Subversion web应用程序 例如,让HTML/JavaScript创建一个界面,用户可以在其中

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

因此,我想从现有应用程序中执行所有创建repo stage、提交、推送和更新步骤


我该怎么做呢?

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

我使用类似的方法为客户机制作了一个Subversion web应用程序

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

进一步信息:如果Git命令需要一些时间才能完成,或者需要超时,或者需要与远程存储库通信等等,那么解决方案是使用中央数据管理,即只有一个表挂起的数据库,例如:

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

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


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

您使用什么IDE?谢谢Nikos。如果您给出一些示例代码,这将非常有帮助。事实上,我是一个新的程序员。@Sneha,这可能是一个非常复杂的应用程序,代码将取决于您如何开始。诀窍是从简单开始,只实现最简单的用例,并逐步构建更复杂的用例。PHP exec函数提供了一个示例代码。仅使用此函数调用外部git命令(例如gitpush)并查看其工作原理。然后构建更复杂的示例,并允许用户通过HTML应用程序为git添加参数commands@Sneha,您必须更新或进一步了解PHP、Javascript和Git,才能启动应用程序。这个答案根据你的问题给出了布局,它不能覆盖所有需要的地方。通过实现该应用程序,您可能会提出更多的问题,您也可以将这些问题发布到stackoverflow上,因为它们将更加具体