1

美好的一天

我的本地机器上有我的管理系统的 SVN 工作副本。

工作副本从我们的生产服务器中签出。因此,我或我的队友所做的任何提交都会进入生产服务器存储库。

我想要做的是在我们的开发服务器上使用生产服务器代码创建一个存储库。这样我和我的队友就可以将所有内容提交到开发箱中。当我们都对代码感到满意时,我想切换我的本地存储库以提交到生产服务器

有这种可能吗。如果是这样……怎么办?

4

2 回答 2

2

为什么生产有版本控制系统,而开发人员没有?

版本控制适用于开发人员。您应该能够检查、更新、更改代码、添加功能、犯错误、做愚蠢的事情等。这就是版本控制的用途!

生产,如果他们从 Subversion 存储库中获取代码,应该从标签中签出代码。标签是您希望世界看到的内容。这是您希望通过仔细和严格的测试消除您的错误、错误和其他错误的东西。

将您的 Subversion 存储库从生产环境中移出,并放入您的开发环境中。也就是说,除非您指的是生产,它正在被备份和维护——并不是生产环境中的人(如客户)实际使用 Subversion。在这种情况下,让存储库留在生产环境中,但开发人员不应该害怕使用它。

一些站点严格使用主干作为发布代码。这不是一个好主意。发布代码应该放在标签目录中。主干和分支是供程序员进行编程的。

于 2013-07-26T12:46:40.537 回答
1

虽然在单个服务器上使用分支更易于管理,但您可以拥有两个存储库并根据要求在它们之间切换

  1. 创建生产的完整转储 ( svnadmin dump PROD-PATH > DUMPFILE)
  2. 创建 DEVEL 仓库 ( svnadmin create DEVEL-PATH)
  3. 将 PROD 的负载转储到 DEVEL ( svnadmin load DEVEL-PATH --force-uuid < DUMPFILE)。为了在两个存储库中具有相同的 UUID--force-uuid 是强制性的(因此允许在存储库之间重新定位单个 WC),“svnadmin create”将唯一 UUID 分配给 DEVEL
  4. 将 WC 迁移至 DEVEL
  5. 代码提交测试...

为了将代码返回给 PROD

  1. 获得干净的 WC,更新到 DEVEL HEAD
  2. 将 WC 迁移到 PROD
  3. 将 WC 更新到 PROD HEAD,合并更改
  4. 提交从 WC 中的 DEVEL 累积的所有更改,作为对 PROD 的一次“大爆炸”提交
  5. 转到第一部分,步骤 4
于 2013-07-26T12:30:50.523 回答