我有一个网站,在生产服务器上有大约15,000个文件。现在有一名远程开发人员正在网站上做大部分工作,但我偶尔也需要进行一些编辑。很明显我们需要一些版本控制,所以我正在尝试设置git。
我真的希望保持设置简单和直接。我们不需要任何集成器来查看我们的更改 - 我们都完全信任彼此可以将更改推送到生产网站。我也不认为有必要在将更改推送到生产服务器之前将它们推送到暂存服务器,因为我们可以在本地机器上测试的内容都可以在那里测试。我基本上只是想要一个可以防止我们互相覆盖文件的东西。这是我考虑的场景:
我真的希望保持设置简单和直接。我们不需要任何集成器来查看我们的更改 - 我们都完全信任彼此可以将更改推送到生产网站。我也不认为有必要在将更改推送到生产服务器之前将它们推送到暂存服务器,因为我们可以在本地机器上测试的内容都可以在那里测试。我基本上只是想要一个可以防止我们互相覆盖文件的东西。这是我考虑的场景:
Production Server
↗↙ ↖↘
Developer1(LAMP) Developer2(WAMP)
问题:
这个工作流程对于一个由两个开发人员组成的团队(其中一个只进行偶尔的编辑)是否有意义?还有更好的吗?
在开发人员和生产服务器之间添加staging server有任何优势吗?
我认为生产服务器应该是一个裸存储库,带有一个后置接收钩子指向webroot文件夹,我们会将其克隆到每个开发人员的机器上,然后git commit/git push启动将任何更改返回到生产环境中。是这样吗?
有没有简便的方法在生产服务器上创建一个裸存储库,然后将网站现有的15,000个文件添加到其中?或者我必须先将它们下载到本地工作站的克隆库中,然后执行git add/commit/push来将它们加载到生产服务器存储库中?(它们可能需要近13个小时才能上传。)
谢谢!