通过另一个php应用程序将我的项目推送到Github存储库中
Push my project into Git hub repository via another php application
我已经准备好了html5/javascript/php
应用程序。我想通过我现有的应用程序将我的一些其他项目推送到github
存储库中。
因此,我想从我现有的应用程序中完成所有创建repo(stage
、commit
、push
和update
)的步骤。
我该怎么做?
由于您使用PHP,PHP可以通过exec
或system
调用外部命令,然后使用这些函数调用带有参数的Git命令(例如,您需要的存储库)并获取结果(例如,如果失败)。
我使用了类似的东西为客户端制作了一个Subversion web应用程序。
例如,让HTML/JavaScript创建一个界面,用户可以在其中设置存储库参数和自变量,并将其传递(或发布)到PHP。然后,PHP将使用exec
或system
(当然还有必要的验证和转义)为存储库调用Git命令,并将结果返回到PHP,然后从PHP返回到JS应用程序(例如通过AJAX)。
进一步信息:如果Git命令需要花费一些时间才能完成(超时,或需要与远程存储库通信等),解决方案是使用中央数据管理(例如,只有一个表pending_processes的数据库),如下所示:
让JS将Git请求发布到PHP,让PHP为当前进程的pending_processes
DB表添加一个条目,并将其status
设置为pending
。让PHP返回这个(Git)进程的id
。使用相同的PHP脚本,使用exec
(或system
)(fork and)执行Git命令并等待(或轮询)Git命令完成。当Git完成时,相同的(分叉的)PHP脚本会将该过程的中央DB表更新为新的status
(例如completed
或failed
,任何适合您的需求和用例的)。可选地,它可以添加Git命令的结果或输出。
同时让JS通过另一个PHP脚本轮询(例如通过Ajax调用)该命令的status
,该脚本只接受id
并检查该进程的status
的中央进程表。如果status
是completed
,它可以选择将输出或结果取回JS应用程序。然后JS将向用户显示命令的结果。
希望这对你有帮助。这可能是一个复杂的应用程序,需要同步不同级别的web堆栈(即client/server/php/js/gti等)中的不同部分。因此,诀窍是要有一个大致的大纲和方案,从简单开始,然后逐步构建更复杂的交互。
- 将作用域存储在JSON中
- 使用javascript存储变量的最安全方式
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 如何有效地将游戏数据存储在URL查询字符串中
- Ember.js-接口状态应该存储在哪里
- 通过另一个php应用程序将我的项目推送到Github存储库中
- 如何使用 github api 查找最新的存储库
- 使用 Javascript 获取用户的 Github 存储库列表
- Angular,GitHub API,返回存储库和标签
- 用于访问或克隆 github 存储库的 JS 库
- 如何将Grunt生成的文件git添加到我的Github存储库中
- 如何在开源GitHub存储库中处理构建任务
- 将两个github存储库部署到单个azure web应用程序
- 如何开始为Github上的Mojito存储库做出贡献?(javascript)
- GitHub:如何避免在搜索帐户时超过搜索限制'为某个存储库做出贡献的用户的详细信息
- 使用nodejs访问github存储库
- 在 js 存储库上 github 中的构建状态是什么意思
- 如何同步一个 GitHub 存储库和多个 Gist
- Github API列出所有存储库和报告的内容