最近两周我一直在努力在我们的办公室实施Git。与其说是缺乏文档,更多的是例子、教程和Git的各种用途让我对Web开发中推荐的设置感到困惑。
我认为我有一个不错的设置方案,但在深入了解另一种结构之前,我想请教更有经验的人。我的设想如下:
- 工作站推送到本地暂存服务器(A) - 本地暂存服务器使用gitolite以正确划分角色 - 钩子自动将任何更改推送到生产服务器(B)
如下图所示:
这个设想合理吗?我们有各种规模较小的PHP网站,没有非常复杂的内容。我有以下疑问:
- 我应该使用什么样的“钩子”来处理(B)? - 我是否也应该在生产服务器上运行gitolite?我觉得不需要,因为毕竟只有一个用户会上传东西到服务器(即暂存服务器上的钩子),但我不确定。 - 我的起点是:我们所有的网站都在生产服务器上,而还没有在暂存服务器或工作站上。在初始设置时,有什么方便的方法可以将它们“拉”到暂存和工作站上?
以下是一些额外的想法,目前不是非常重要,但如果您恰好了解更多,请分享您的想法:
- 为了简单起见,我希望能够从工作站运行git push,并同时更新暂存服务器和生产服务器。但有时在上线之前只更新暂存服务器并在那里检查事物可能会很有用。有什么简单的解决方案吗? - 实际上,我们不仅有一个而是几个不同的生产服务器。但只有一个暂存服务器。有没有一种配置不同生产服务器的方法,使Git自动将它们推送到正确的服务器?
感谢您提前分享您的想法!
我认为我有一个不错的设置方案,但在深入了解另一种结构之前,我想请教更有经验的人。我的设想如下:
- 工作站推送到本地暂存服务器(A) - 本地暂存服务器使用gitolite以正确划分角色 - 钩子自动将任何更改推送到生产服务器(B)
如下图所示:
![enter image description here](https://istack.dev59.com/qUjKB.gif)
- 我应该使用什么样的“钩子”来处理(B)? - 我是否也应该在生产服务器上运行gitolite?我觉得不需要,因为毕竟只有一个用户会上传东西到服务器(即暂存服务器上的钩子),但我不确定。 - 我的起点是:我们所有的网站都在生产服务器上,而还没有在暂存服务器或工作站上。在初始设置时,有什么方便的方法可以将它们“拉”到暂存和工作站上?
以下是一些额外的想法,目前不是非常重要,但如果您恰好了解更多,请分享您的想法:
- 为了简单起见,我希望能够从工作站运行git push,并同时更新暂存服务器和生产服务器。但有时在上线之前只更新暂存服务器并在那里检查事物可能会很有用。有什么简单的解决方案吗? - 实际上,我们不仅有一个而是几个不同的生产服务器。但只有一个暂存服务器。有没有一种配置不同生产服务器的方法,使Git自动将它们推送到正确的服务器?
感谢您提前分享您的想法!