我们的设置如下:
我们有一个运行Ubuntu的本地开发服务器,其设置与我们的实时主机镜像。每个开发人员都在Windows机器上工作,并从本地开发服务器访问文件。
正在讨论的项目是一些用PHP构建的网站。考虑到there are no good reasons not to use version control,我们打算在服务器上启动并运行SVN、Git、Mercurial或其他工具。
问题是,我们如何做到这一点,但从Windows机器上提交更改,以及我们如何检查网站(项目)的完成区域,或整个网站,以上传到实时(远程)服务器上?
发布于 2009-11-03 21:40:57
为什么使用SVN:
Windows上成熟的codebase
为什么使用git (可能也适用于mercurial ):
分支和merging
处理你的用例的一种方法是:-每个开发人员都有自己的私有git存储库-当代码更改经过测试并准备好投入生产使用时,开发人员会将代码更改推送到开发服务器的存储库。-实时服务器有一个签出,它可以定期更新,也可以手动更新,或者通过开发服务器存储库上的提交钩子更新(提交时,"ssh live.server.com (cd /my/dir;git pull server HEAD)")。
此过程也可以适用于SVN,但私有存储库将成为结帐。
发布于 2009-11-03 21:44:17
Subversion将会工作得很棒。我们在linux机器上运行Subversion,所有的开发工作都是在windows机器上完成的。90%的时间我们通过集成开发环境(通常是Eclipse子客户端)签入和签出项目,其余10%的时间我们使用TortoiseSVN,这两种方法都可以很好地工作。
您可以通过IDE或Tortoise将更改提交到存储库。您可以将持续集成服务器与存储库捆绑在一起,以便在您向存储库提交代码更改时自动构建项目。
发布于 2009-11-03 22:08:00
我们在TortoiseSVN中使用Subversion。它工作得很好。上一次我们查看Git时(六个月前?),Windows工具还没有出现。Perforce (http://www.perforce.com)是我用过的最好的商业解决方案。
确保您了解分布式修订控制(Git)与Subversion和其他传统修订控制系统的区别。它们是不一样的。
GitSvnComparison Git For Designers
如果您在PHP站点上工作,您可以创建代码库的tar文件,并将它们发送到测试服务器进行测试。一旦验证了站点正在运行,您就可以将该tar文件推送到活动站点。
https://stackoverflow.com/questions/1667340
复制相似问题