用tortoise svn撤消解决?

时间:2016-02-04 19:01:14

标签: svn tortoisesvn

  1. 我修改了我的本地文件(很多重要的事情)

  2. 我试图提交,但存在一些冲突

  3. 我刚刚更新(下载远程文件)并解决了冲突(希望它能用我的本地文件/工作副本替换"远程"文件)。

  4. 它没有达到我的预期。

    如何在第1点之后恢复我的文件。?

2 个答案:

答案 0 :(得分:4)

不幸的是,假设您将冲突标记为已解决,则无法做到这一点。一旦发生这种情况,冲突文件的三个版本(您的,存储库及其共同祖先)将合并为一个(您解决冲突的已解析版本)并从工作副本中删除。

听起来你误解了解决冲突应该做什么。 Conflict resolution不会修改存储库中的任何内容;它纯粹是一个本地(在你的机器上)操作。

答案 1 :(得分:0)

如果您还没有从SVN所谓的“解决”功能删除回收站中删除的文件,则可以使用VsDiffMerge逐个文件完成。每个有冲突的文件都有对应的.mine.r1234(其中1234是SVN生成的数字(显然是从它表示的代码中唯一增加的数字!)。)

为每个文件执行以下步骤:

  1. 从回收站还原.mine.r1234文件
  2. 打开命令提示符
  3. cd到那些文件已还原到的目录(例如cd "C:\My Code\Project 1\My File.cs"
  4. 找到用于安装Visual Studio的vsDiffMerge.exe(对于Visual Studio 2019,通常为:“ C:\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Professional \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation \ Team Explorer \ vsDiffMerge.exe“)
  5. 按以下方式运行vsDiffMerge.exe(Visual Studio 2019的说明): C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\vsDiffMerge.exe /m "My File.cs.r1234" "My File.cs.mine" "My File.cs.mine" "My File.cs"
  6. 现在应该出现一个Visual Studio实例,使您可以真正解决.r1234文件和.mine文件之间的冲突,并将合并的结果保存到SVN弄乱了的.cs文件中,虚假决心!