我们有一个我们想要版本控制的PHP项目。 现在,我们有三个人正在研究项目的开发版本,该版本驻留在我们所有Eclipse IDE都链接到的外部文件夹中,因此没有版本控制。

什么是正确的方法和版本控制的最佳方式?

我们有一个SVN设置,但我们只需要找到一个检查进出的好方法,这样我们就可以在开发服务器上进行测试。 有任何想法吗?

===============>>#1 票数:26 已采纳

我们处于类似的情况,这就是我们最终做的事情:

  • 设置两个分支 - 发布和开发分支。
  • 对于开发分支,包括一个后提交钩子,它将存储库部署到开发服务器,因此您可以进行测试。
  • 准备好后,将更改合并到发布分支中。 我还建议在那里部署一个post-commit钩子。

您还可以在其工作站上为每个团队成员设置单独的开发服务器。 虽然你确实有更多的设置时间,但我发现它可以加快速度。

我们不得不使用单个开发服务器,因为我们使用的是专有CMS并遇到了许可问题。 所以我们的post-commit钩子是一个简单的FTP机器人。

===============>>#2 票数:5

这是我们做的:

  • 每个开发人员都有一个配置为我们的集成服务器的VM
  • 集成服务器为Trunk,每个用户和分支的几个插槽提供空间
  • 生产服务器
  • 提交时,挂钩在Subversion中发送电子邮件

在项目开始时,用户创建一个分支并在其个人VM上检查它,并抓取数据库的干净副本。 他们做他们的工作,随着他们去做。

一旦他们完成了他们自己的个人空间中的所有内容,他们就会登录到集成服务器并检查他们的分支,运行他们的测试等等。当所有通过他们的分支的人都被合并到Trunk中。

重建Trunk,运行全套测试,如果一切顺利,它将获得批准的大标签,在SVN中标记,并在晚上升级到Production。

如果在任何时候由其他人提交,我们会收到一封电子邮件,并可以将这些更改合并到我们各自的分支机构中。

===============>>#3 票数:3

Beanstalk具有内置的提交后挂钩,用于部署到开发,登台和生产服务器。

===============>>#4 票数:2

分发的东西怎么样? 您可以从Mercurial开始,尝试不同的工作流程,并查看最适合您的工作流程。

===============>>#5 票数:2

将subversion用于PHP开发的一种方法是为一个或所有三个开发人员设置一个存储库,并使用此存储库作为同步工具,而不是真正的版本控制。

你可以,

  • 回购

  • 添加项目的整个PHP文档结构

  • 将此repo的副本签出到dev服务器上的正确位置

  • 使用svn挂钩,在提交时激活

只要团队中的任何人签入任何代码,此钩子就会自动更新开发服务器的内容。

胡克居住在:

svn_dir / repo_name /挂钩/后提交

可能看起来像:

/ usr / bin / svn up / path_to / webroot --username svn_user --password svn_pass

这将在开发服务器上将您的工作副本更新为最新的签入。

===============>>#6 票数:0

您可以用于构建的另一个工具是TeamCity ,它可以免费提供20个构建配置(足以满足大多数小公司/项目。)这样您就可以运行测试以及计划构建。

===============>>#7 票数:0

你们每个人都可以在本地运行它,或者在你自己的开发服务器上运行它们(甚至是同一个具有不同端口的服务器......)。

===============>>#8 票数:0

一种可能的方式(可能有更好的方法):

你们每个人都应该拥有自己的项目签出版本。

在您的计算机上拥有服务器的本地副本,并在那里进行全天测试。 然后在每天结束时(或每当),您将任何准备好测试的内容合并在一起,然后将其检出到开发服务器并进行测试。

  ask by Adam Lerman translate from so

未解决问题?本站智能推荐:

2回复

如何清理版本控制$ Id $ comment

这可能是一个常见的问题,但搜索引擎在搜索非字母数字字符时非常糟糕。 我有一堆代码,其中包含标准版本控件$ Id $ tag / comment。 我需要一种简单的方法来从目录结构中的每个文件中删除(清理,删除)所有这些标记。 具体来说,这是一个PHP脚本(phpBB具体),所以看起
2回复

源控制建议

我在我工作的公司继承了一个非常大的内部应用程序。 它有两个部分。 一个在LAMP服务器上运行,另一个在WAMP服务器上运行。 没有源代码控制可见。 目前,开发人员将通过FTP登录每个服务器,直接编辑那里的PHP文件。 或者登录phpMyAdmin并在必要时对DB模式进行更改。
19回复

我为什么要使用版本控制?

我正在读一篇博客,作者说这个 “代码不存在,除非它被检入版本控制系统。对你所做的一切使用版本控制。任何版本控制,SVN,Git,甚至CVS,掌握它并使用它。” 我从来没有使用任何类型的版本控制,我觉得它不是很好。 我之前用Google搜索并查看过它,但如果你愿意的话,我只需要
2回复

一个很好的视频来解释版本控制?

有谁知道我在哪里可以找到一个好的视频向某人解释版本控制(主要是颠覆)? 用最简单的术语解释它(比如之前从未听说过版本控制的人)。 (不适合我,也适合编码员)
1回复

配置版本控制以分别管理多个文件

我有一个问题来跟踪可能由用户或新版本更改的传播配置文件。 我想自动合并更改,失败的合并将被丢弃,并且可能被一个人合并,但是它们可能会被忘记。 新版本应尝试处理被忘记的手动合并。 我已经考虑过一种方法,并且需要跟踪不同的版本,放置标签并合并每个文件。 我想在单个文件上应用“ us
6回复

能够处理文件移动的版本控制系统? [关闭]

我正在为我的软件公司寻找一个新的版本控制系统,这个系统相当小。 到目前为止,我一直在使用CVS,但我有点关于重组文件结构的OCD,因此,我似乎总是在我的所有代码的版本1(因为更改目录名称会引发CVS的版本控制窗户)。 是否有更多针对开发阶段的版本控制系统(项目目录树不断变化)或者我是否需要扣
8回复

可扩展(50万个文件)版本控制系统

我们使用SVN进行源代码修订控制,并正在尝试将其用于非源代码文件。 我们正在处理大量(300-500k)短(1-4kB)文本文件,这些文件将定期更新并需要对其进行版本控制。 我们尝试在平面文件模式下使用SVN,它正在努力处理第一次提交(签入500k文件)大约需要36小时。 每天,我
1回复

哪个版本控制允许文件级别的访问权限?

我之前使用过SVN,因为我有一个较大的项目,而我经常更换开发人员,所以我想在包或文件级别定义文件访问权限。 例如,授予对基本类的完全访问权限,但在某些情况下仅允许特殊用户阅读和提交。 是否存在允许GIT,CVS或SVN之类的版本控制系统,还是可以解决此问题? 我没有自己的服务器,但是我
14回复

您是否使用除源代码之外的版本控制? [关闭]

我发现SVN对于文档,个人文件以及其他非源代码使用非常有用。 您在版本控制系统中发现了哪些其他实际用途?
4回复

处理版本控制系统上的多用户工作[关闭]

我可以想象多个程序员如何同时在相同的代码库上密集工作的系统。 我认为服务器上的版本控制系统应该能够在连接到代码库的程序员之一开始编辑时锁定一个文件进行编辑 关于代码库更改的实时通知,并将更新的文件推送给其他人(通过通知或自动更新) 在飞行