1

我们有多个开发人员在一个 Web 应用程序/项目上工作。为此,我们使用 AnkhSVN。

其中一位开发人员进行了一些更改并提交了该项目。几天后,团队中的另一位开发人员进行了一些更改并进行了提交。

之后,第一个开发者的改动就消失了。第二个开发人员的更改覆盖了第一个开发人员的更改。

如何恢复?如何保持两个更新?

请具体。这个话题的解决非常重要。

4

1 回答 1

1

实际上,当您不是最新的时,您无法提交更改。我猜第二个提交者做了坏事......所以现在的问题是让两个更改“死后”合并。

为了恢复我会尝试(假设我正确理解了你所做的;这是有根据的推测,因为我没有尝试过):

  1. 将当前状态(没有 .svn 文件夹!)复制到一个临时文件夹中 - 这应该是提交者 2 对初始状态的更改
  2. 回滚到第一个提交之前的修订版(“更新到修订版”) - 即他们都(可能)开始的版本
  3. 复制临时文件夹中的更改
  4. 在第一个提交后更新到修订。这应该尝试合并更改,并且可能会带来一些您需要手动解决的冲突(这可能是第 2 项出错的地方)。 在此之后,您应该在工作副本中进行这两项更改。
  5. 清除临时文件夹并复制当前状态(再次没有 .svn 文件夹)
  6. 现在我们变得丑陋了:更新到 HEAD 修订版并复制回更改
  7. 检查你是否有一些有意义的东西(编译)并提交。

请记住,除非您破坏了存储库,否则您不能真正丢失任何东西-毕竟这是版本控制... :-)

于 2012-08-04T18:32:20.797 回答