使用Git push自动拉动远程服务器?

Ver*_*non 10 php git pull github mirroring

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

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

我不确定这是不是最好的想法(或最好的方法),但我希望远程服务器在有人推送到存储库时自动拉出.当有人推动时,GitHub可以很容易地运行脚本,但是我不确定一旦有人这样做就会拉动.

我使用PHP是为了简单,但git pull由于权限,只是做一些自然的事情是行不通的.这是一个坏主意还是有另一种方式来实现我想做的事情?这似乎是一个常见的设置,但我不确定.

谢谢.

Von*_*onC 3

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

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

然后,每当您的裸存储库推送任何内容时,您都可以将其与“实时”存储库上的挂钩关联起来以更新自身(通过“git merge”,将裸存储库的内容合并到“实时”存储库)。

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