我们有多个开发人员在处理一个Web应用程序/项目。为此,我们使用AnkhSVN。
其中一位开发人员做了一些更改并提交了该项目。几天后,团队中的另一个开发人员进行了一些更改,并做出了承诺。
在那之后,第一个开发人员的更改就消失了。第二个开发人员所做的更改覆盖了第一个开发人员的更改。
如何恢复?如何保持这两个更新?
请具体说明解决这个问题非常重要
实际上,当您不是最新的时,您无法提交更改。我猜第二个提交人做了坏事。。。因此,现在的问题是让这两个变化"死后"合并。
为了恢复,我会尝试(假设我正确地理解了你的所作所为;这是有根据的猜测,因为我没有尝试过):
- 将当前状态(没有.svn文件夹!)复制到一个临时文件夹中——这应该是committer2对初始状态的更改
- 回滚到提交的第一个版本("更新到修订版")之前的修订版,即它们都(可能)开始的版本
- 复制临时文件夹中的更改
- 在提交第一个修订之后更新到修订。这应该尝试合并更改,并且可能会带来一些需要手动解决的冲突(这可能是数字2出错的地方)。在此之后,您应该在工作副本中同时进行这两项更改
- 清除临时文件夹并复制当前状态(再次不包含.svn文件夹)
- 现在我们变得很难看:更新HEAD修订版并复制回更改
- 检查您是否有意义的东西(编译)并提交
记住,除非你破坏了回购,否则你不能真正放松任何东西——这毕竟是版本控制…:-)