Web开发的版本控制

时间:2015-04-16 18:59:48

标签: svn version-control tortoisesvn

我需要帮助设置Web开发的版本控制。我自己(使用tortoise SVN)为我自己的文件做,但我无法扩展我的过程。目前我们有两台服务器,Dev / Test和Production。

我的个人流程如下:

  1. 开发测试模块。
  2. 将每个里程碑提交到我的个人存储库中。
  3. 重复完成
  4. 查找我手动修改的每个文件,然后将其移至Production。
  5. 现在我的目标是简化流程,以便我们可以从存储库推送以删除手动更新。

    不幸的是我们使用WAMP,因此我们在为每个开发人员设置虚拟机时遇到许可问题。因此,我们所有人都在一台服务器上工作,我相信这会毁掉这个梦想。

    我一直遇到将一大堆废话上传到制作中的问题。我发现很难将从垃圾文件准备好的文件分离到TortoiseSVN来推送。我查找了合并和导出,但他们完成整个目录,不允许我选择我想要的文件。即使我们每个人都拥有一个拥有我们环境的虚拟机,我怎么能在没有创建过程附带的垃圾的情况下合并分支。 (虽然我打字时似乎是开发人员的责任)

    如何创建完成此工作流程的工作流程?

    修改 我得到了它的工作。

    我使用批处理文件,分支和补丁。每个服务器都有自己的分支。当我们在测试中开发时,我们将所有更改(甚至是废话)提交给测试分支。当开发人员想推送到prod时,他使用批处理文件,使用svn diff将PROD分支与TEST分支进行比较,然后使用tortoisemerge将补丁应用于PROD。这很重要,因为它允许开发人员选择要修补的文件。最后,它使用TortoiseProc.exe将更改提交到prod,开发人员可以对更改进行评论。我们使用相同的过程从PROD更新TEST,但反过来。

1 个答案:

答案 0 :(得分:1)

  1. 对于多存储库开发SVN是糟糕的选择,迁移到DVCS(不使用 Git)会让生活变得更加容易,但是在这个问题上,这个问题是由于大多数标签
  2. 无论如何,你可以尝试从SVN开始,这个解决方案(肮脏的草案,冲突是你的头痛)可能甚至可以扩展到少数开发人员(你不会技术,但中型或大型的组织问题SVN队)

    1. 在TEST | PROD上创建|每个DEVEL 相同的存储库,它们将共享相同的UUID 强制性!!! ) - 请求你的SVN-admin,如何实现它
    2. TEST | PROD上的提交后挂钩必须在提交回购后更新每个环境的本地WCs
    3. 从TEST结账,开发,提交和测试TEST
    4. 在达到稳定点时,将WC重新定位到PROD存储库并提交(修改)工作副本作为一个压缩的巨型提交,其中包含在上次提交到PROD之后对TEST所做的所有更改
    5. 重新定位回TEST
    6. 对于多开发人员的工作,您必须为每个开发人员设置个人分支,在提交PROD之前进行跨分支同步,可能会遗忘