硬盘故障后移回SVN数据

时间:2017-09-19 07:43:29

标签: svn tortoisesvn visualsvn

长话短说,我主机上的硬盘出现故障。由于发布版本迫在眉睫,我无法检查我的工作,因此我将我正在处理的六个项目挂起到文件共享。

新磁盘到了,windows的新副本等等。

现在,我将项目数据与我的更改一起复制回安装了Tortoise SVN的C:\ Projects目录和Visual Studio 2015上的Visual SVN。

如何挂钩备份我的工作副本以与服务器同步?我已经检查了项目而没有我的更改,但只是复制顶部的项目文件夹会导致问题。幸运的是我把拉出的东西拉了出来。

为了说清楚,我目前有: - 安装了Tortoise / Visual SVN - 从存储库中检出的工作副本到C:\ Projects - 文件共享与应该准备好的工作副本

我想基本上用文件共享中的工作副本替换C:\ Projects中的任何内容。

nb:在任何人开始之前,我都知道这实际上是很糟糕的做法,但是没有详细说明这就是必须要做的事情。

1 个答案:

答案 0 :(得分:0)

  1. 当时检查您使用BASE时所做的任何修订。

  2. 只需将修改后的(并保存到共享)文件复制到结帐的工作副本中。

  3. 执行svn update(无论在Tortoise中代表什么),将您的工作副本与上游最近的开发进行同步。

    请注意,这可能会导致您需要的冲突 解决并标记为。

  4. 提交。

  5. 或者,主要步骤(svn up)可能以另一种方式完成:

    1. 根据基本修订版创建一个远程分支,例如

      svn copy ^/branches/trunk@BASE ^/branches/mywork
      
    2. 将您的工作副本更新到该分支:

      svn switch ^/branches/mywork
      
    3. 将修改后的已保存文件复制到替换的工作副本中 无论在那里。

    4. 提交 - 更新" mywork"分支。

    5. 切换回" trunk"并合并你的工作:

      svn checkout ^/branches/trunk
      svn merge ^/branches/mywork
      

      这可能会像往常一样导致冲突。

    6. 这两种方法的不同之处在于第一次尝试 使事情看起来像你刚刚实施了新的东西 (在上游有什么?)第二个假装你 在一个单独的分支上进行攻击,然后进行集成合并。

      (请注意,在我的例子中,我假设你正在使用行李箱; 如果情况并非如此,请相应调整示例。)