3

有没有办法从项目中撤消获取最新版本?我已经在一个项目上工作了一周,但从未检查过我正在处理的文件。一位同事不得不从我的电脑上传一个版本,所以他在整个解决方案上使用了 get-latest-version(递归)命令。

看来我的 Visual Studio 有问题,它允许在不签出文件的情况下进行编辑,所以我的所有编辑都在没有检查文件的情况下被关闭。当 Vs 提示我的同事检查是否保留更改或用 SourceSafe 替换本地版本时,他选择用 SourceSafe 的版本替换本地版本,并且我的 VS 已配置为将该设置应用于每个文件。

所以,我刚刚失去了这周的工作。有什么办法可以恢复吗?

4

7 回答 7

11

您可以尝试在 Vista 中使用以前版本的功能,假设您正在运行该功能。除此之外,如果您没有备份,那您就完蛋了。

我还将这归结为一次学习经历——经常签到。如果我失去一天的工作,我会很生气,更不用说整整一周了。

于 2009-03-31T21:39:32.353 回答
5

哎哟。这里的 IT 部门每晚从机房的磁带系统对每台机器进行备份。您可能会问是否在您所在的地方做过类似的事情。

几个问题:

1) Sourcesafe 不安全。做一些谷歌搜索。您的组织正在通过使用它来要求灾难。

2) 让其他人驾驶您的机器通常不是一个好主意。每个人做事的方式都不一样,在乔治的机器上对乔治来说安全的操作在你的机器上可能不安全。让人们通过这些事情告诉你——如果他们向你介绍你从未做过的事情,无论如何,你更有可能以这种方式学习新东西。

3) 在您的源代码控制工具中设置代码的一个分支,以便您可以每晚签到——即使您没有处于工作状态。这是获取备份的免费方式。

我希望你能找到解决问题的方法。

于 2009-03-31T21:41:48.730 回答
3

此外,如果您的应用程序是 .NET 并且您构建并且仍然拥有二进制文件(检查您的回收站),您可以使用反射器或类似工具来尝试反编译二进制文件。(http://www.red-gate.com/products/reflector/)只要您没有混淆代码,您就可以检索您的一些工作......

于 2009-04-01T03:55:37.973 回答
0

VSS 可以在编辑和合并模式下运行,只是没有人启用该选项。您可能是这里的例外,因此请检查您的设置。它还可以在没有设置只读标志的情况下签出文件。

不幸的是,VSS 的 getlatest 只是抓取数据库中的最后一个修订版并将其复制到您的文件系统之上,仅此而已。抱歉,你的工作丢了。您可能很幸运,可以在回收站中找到所有内容。

因此,您可以选择恢复您的工作:备份?如果您有它们,请在它们被当前文件覆盖之前立即获取它们。系统还原?如果您设置了它,您可能会保存您的工作。

下一次:获得像 Mozy 这样的持续备份系统,或使用经常提交模型(定期将工作保存到分支或备用数据库,完成后,将其全部检查到正确的数据库位置)。

于 2009-03-31T21:42:30.303 回答
0

VSS在用 sourcesafe 的版本替换本地版本之前警告您。因此,如果您没有备份数据,则您的本地版本将被完全删除

于 2009-03-31T21:45:55.943 回答
0

有些人没有意识到这一点,但备份和源代码控制是两个不同的东西。这种情况就是备份的用途。

如果您的 IT 人员至少不定期备份 PC 配置文件,我会感到相当惊讶。如果没有,您可以尝试另一种备份。在停车场等到你的“同事”经过你的车,然后倒车。:-)

于 2009-03-31T21:48:32.567 回答
0

如果这是一个 ASP.Net 项目,您可以尝试查看 Temporary ASP.Net Files 目录(埋在您的 %system% 目录中),假设您在破坏本地文件后还没有运行该项目。

于 2009-04-01T03:36:07.893 回答