我们有一个我们想要版本控制的PHP项目。现在,我们有三个人正在研究项目的开发版本,该版本驻留在我们所有Eclipse IDE都链接到的外部文件夹中,因此没有版本控制。
什么是正确的方法和版本控制的最佳方法?
我们已经设置了SVN,但我们只需要找到一种检查和退出的好方法,这样我们就可以在开发服务器上进行测试。有什么想法吗?
答案 0 :(得分:26)
我们处于类似的情况,这就是我们最终做的事情:
您还可以在其工作站上为每个团队成员设置单独的开发服务器。我发现虽然你有更多的设置时间,但它会加快速度。
我们必须使用单个开发服务器,因为我们使用的是专有CMS并遇到许可问题。所以我们的post-commit钩子是一个简单的FTP机器人。
答案 1 :(得分:5)
以下是我们的工作:
在项目开始时,用户创建一个分支并在其个人VM上进行检查,并抓取数据库的干净副本。他们做他们的工作,随时随地做出承诺。
一旦他们完成了自己个人空间中的所有内容,他们就会登录到集成服务器并检查他们的分支,运行他们的测试等等。当所有通过他们的分支的人都合并到Trunk中时。
重建Trunk,运行全套测试,如果一切顺利,它将获得批准的大标记,在SVN中标记,并在晚上升级为制作。
如果在任何时候由其他人提交,我们会收到一封电子邮件,并可以将这些更改合并到我们各自的分支机构中。
答案 2 :(得分:3)
Beanstalk具有内置的提交后挂钩,可用于部署到开发,登台和生产服务器。
答案 3 :(得分:2)
使用subversion进行PHP开发的一种方法是为一个或所有三个开发人员设置一个存储库,并使用此存储库作为同步工具,而不是真正的版本控制。
你可以,
制作回购
添加项目的整个PHP文档结构
将此repo的副本签出到您的开发服务器上的正确位置
使用在提交时激活的svn挂钩
当团队中的任何人检查任何代码时,此钩子将自动更新开发服务器的内容。
Hook位于:
svn_dir / repo_name /钩/提交后
可能看起来像:
/ usr / bin / svn up / path_to / webroot --username svn_user --password svn_pass
这会将您在dev服务器上的工作副本更新为最新的签入。
答案 4 :(得分:2)
分发的东西怎么样?您可以从Mercurial开始,尝试不同的工作流程,并查看最适合您的工作流程。
答案 5 :(得分:0)
你们每个人都可以在本地运行,或者在你自己的开发服务器上运行(或者甚至是同一个具有不同端口的服务器......)。
答案 6 :(得分:0)
一种可能的方式(可能有更好的方法):
你们每个人都应该拥有自己的项目签出版本。
在计算机上安装服务器的本地副本,并在一天内对其进行测试。然后在每天结束时(或者每当),将您准备好测试的任何内容合并在一起,然后将其检出到开发服务器并进行测试。
答案 7 :(得分:0)
您可以用于构建的另一个工具是TeamCity,它可以免费用于20个构建配置(足以满足大多数小公司/项目。)这样您就可以运行测试以及计划构建。