php - 使用 Git 推送自动 pull 远程服务器?

标签 php git github mirroring pull

这是我正在尝试做的事情:

我有一个 GitHub 存储库,我希望其中的一部分可以在 Web 上查看。现在我已经在我自己的服务器上克隆了存储库并且它运行良好,但为了使其保持最新,我必须手动登录并提取最新的更改。

我不确定这是否是最好的主意(或最好的方法),但我希望远程服务器在有人推送到存储库时自动 pull 。 GitHub 使得在有人推送时运行脚本变得足够容易,但我不确定一旦有人这样做如何 pull 。

为了简单起见,我使用了 PHP,但是由于权限的原因,仅仅执行 git pull 之类的操作自然是行不通的。这是一个坏主意还是有另一种方法可以实现我想做的事情?这似乎是一个常见的设置,但我不确定。

谢谢。

最佳答案

如果运行脚本来推送很容易,你可以设置钩子(Hook)来推送:

  • 从 GitHub 到您网络服务器上的裸(空工作树)存储库
  • 从您网络服务器上的裸仓库到您的“实时”仓库(使用代表您网站的工作树)

然后您可以将它与您的“实时”存储库上的 Hook 相关联以更新自身(通过“git merge ”,将您的裸存储库的内容 merge 到您的“实时”存储库),无论何时您的裸存储库推送任何内容。

您会得到想要的效果:任何推送到您的 GitHub 存储库(我想是针对某个分支)都会触发您“实时”网络服务器存储库的刷新。

关于php - 使用 Git 推送自动 pull 远程服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2400043/

相关文章:

即使有 5.6GB 空闲内存和 50GB 硬盘,git clone 也会出现内存不足的情况

git - 断电损坏的 git 文件后如何检索重要的 git 信息?

git - 是否有使用 Github 提供的 noreply 电子邮件的 git push 解决方法,而不取消勾选 "Block command line pushes that expose my email"?

github - 有没有办法从 GitHub 上的最新版本下载工件?

PHP + MySQL : Finding total of values by recursing through mySQL parent children groups

php - 如何在我的数据库中将类别 ID 格式化为字符串

git - 撤消 "git filter-branch ... -- --all"?在一个命令中?

github - 如何安装 Spritebuilder?

php - Laravel 中的多提供商关系用户表

php - zend 指定的文档类型错误