I had这是一个相当大的解决方案,这里有很多代码。由于 TFS 存在一些问题,我想创建一个新的“干净”存储库。我删除了到旧存储库的映射,并尝试创建新映射。这导致了一个错误,即已经存在到我的解决方案的映射。我去了Source Control Explorer
-> Workspaces
并在那里删除了到我的解决方案的映射。之后,我能够将我的新存储库映射到我的解决方案。
但当我检查我的硬盘时,我差点心脏病发作:TFS 删除了我所有的代码文件!目录和依赖项仍然存在,但我所有的项目文件、解决方案文件和所有代码都消失了!
请 StackOverflow 帮助我!这是很多工作现在已经消失了,我真的非常需要它回来:(
Edit:我目前正在尝试使用几个文件恢复工具(如 Recuva)来恢复我的文件,但它们都无法找到任何已删除的更改。但这些文件确实消失了,Windows 搜索找不到它们,而且它们也没有被隐藏。谁能告诉我这是为什么?那么这些文件还在我的 SSD 上吗?
像 TFS 这样的源代码控制系统的工作原理都非常相似。他们将服务器版本的代码视为“代码” - 它是主副本,并且由服务器“拥有”。然后你可以获得一个copy您的 PC 上的代码(通过添加工作区映射,您可以告诉它将此副本放置在何处)。您可以对代码副本进行更改,然后将其签入以将其应用回服务器上代码的主版本。
因此,如果您更改工作区映射(例如,将代码副本的位置从文件夹 A 更改为文件夹 B),您将告诉源代码控制系统“请拿走位置 A 中的代码副本,并将其放入B”。这就是为什么它删除了所有“你的”代码。它不是“您的”代码,而是服务器代码的副本 - 您要求它将其放在您 PC 上的其他位置......所以它做到了。
但是,如果您编辑了工作区中的任何代码,这些文件将被检出,在这种情况下,TFS 会知道您有待处理的更改,并且它不应该删除这些文件 - 它应该报告当您尝试更改包含挂起更改的工作区映射时,出现错误。
不会发生这种情况的唯一方法是,如果您手动将文件更改为可写,并在 Visual Studio/TFS 之外对它们进行更改,以便 TFS 不知道您已进行更改。如果您“秘密”更改了某些文件,TFS 可能会认为它们没有更改,因此永久删除它们。这些文件可能不会显示在文件恢复工具中,因为通过要求 TFS 重新定位工作区,您可以删除这些文件,然后立即重新获取它们(放入新文件夹中),这几乎肯定会覆盖已删除的数据文件。
如果您的更改可能已签入,那么您可以像这样找到它们:转到 TFS 源代码管理视图中的团队项目。右键单击该项目并选择“查看历史记录”选项。这将以相反的历史顺序列出项目的所有签入 - 如果您签入,那么您应该在此处看到您的签入。 (您可以双击历史记录中的任何变更集条目来查看已更改的文件列表,如果右键单击任何文件,您可以“比较...”查看差异,准确说明所做的更改)
如果这些更改不在您的签入历史记录中,那么恐怕您已经丢失了它们。
您可能已经了解了这一点,但学习正确使用源代码管理等工具非常重要 - 它们是有用且强大的工具,但如果您不了解它们的工作原理,它们可能会很危险。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)